python - 将列表列表组合成字典的简洁方法?

标签 python dictionary nested-lists

我有两个列表:

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?

最佳答案

正确,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'}

关于python - 将列表列表组合成字典的简洁方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64311526/

相关文章:

python - Django 扩展/包含 - bug?

dictionary - golang 创建多级字符串映射

c# - 从 List<string[]> 中获取唯一字符串的计数到字典中

python - 过滤嵌套列表

python - For循环和嵌套列表问题

python - 如何在不等待 python 完成的情况下执行异步任务?

python - 将总列的百分比添加到 Pandas 数据透视表

c# - 在隔离存储中存储 Dictionary<TKey, TValue>

python - 函数更改列表值而不是 Python 中的变量值

python - 哪条矩形线先命中