【问题标题】:Clean way to combine list of lists into a dictionary?将列表列表组合成字典的干净方法?
【发布时间】:2020-10-12 04:00:23
【问题描述】:

我有两个列表:

ind_vars_unique_list = [['R1'], ['Samoan', 'English'], ['Rural', 'Urban']]
ind_vars = ['Round', 'PrefLang', 'Rural']

我想创建一个看起来像这样的字典:

{'R1': 'Round', 'Samoan':'PrefLang', 'English':'PrefLang', 'Rural':'Rural', 'Urban':'Rural'}

我可以使用字典理解方法获得解决方案:

{ind_vars_unique_list[i][j]:ind_vars[i] for i in range(len(ind_vars)) for j in range(len(ind_vars_unique_list[i]))}

但我想知道是否有一种更简洁或更 Pythonic 的方式来执行此操作,也许使用 dict 和 zip?

【问题讨论】:

    标签: python dictionary nested-lists


    【解决方案1】:

    正确,zip 是要走的路:

    >>> {x: v for k, v in zip(ind_vars_unique_list, ind_vars) for x in k}
    {'R1': 'Round', 'Samoan': 'PrefLang', 'English': 'PrefLang', 'Rural': 'Rural', 'Urban': 'Rural'}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-16
      • 2013-07-12
      • 2013-09-11
      • 1970-01-01
      • 2017-04-16
      • 1970-01-01
      • 2013-02-19
      • 2020-01-28
      相关资源
      最近更新 更多