python - 将列表列表转换为字典列表

标签 python list dictionary

我想将列表列表转换为字典列表。我有办法做到这一点,但我怀疑还有更好的方法:

t = [[1,2,3], [4,5,6]]
keys = ['a', 'b', 'c']
[{keys[0]:l[0], keys[1]:l[1], keys[2]:l[2]} for l in t]

带输出

[{'a': 1, 'c': 3, 'b': 2}, {'a': 4, 'c': 6, 'b': 5}]

这可以通过循环来完成,但我敢打赌有一个函数可以更轻松地做到这一点。来自 this answer我猜有一种方法可以使用 map 命令来完成此操作,但我不太确定如何做。

最佳答案

您可以将列表理解与dict()结合使用构造函数和 zip :

[dict(zip(keys, l)) for l in t ]

演示

>>> d = [dict(zip(keys, l)) for l in t ]
>>>
>>> d
[{'a': 1, 'c': 3, 'b': 2}, {'a': 4, 'c': 6, 'b': 5}]
>>> 

关于python - 将列表列表转换为字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35763593/

相关文章:

python - 根据条件在 numpy 数组的元素中进行数学运算的有效方法

java - 以良好的格式打印元素

list - Prolog 中的 zip 函数

python - 如何将绝对值合并到 Pandas 数据框中?

Python 请求 POST 返回不完整的内容

list - 使用 sortWith 对链式元组列表进行排序

java - 如何使用 Map 作为 "values"之一将 String 转换为 Map ?

python - 删除 python 列表字典中的最后一个元素

python - 使用字典将数组转换为列表

python - 如何知道麦克风的音频频率