从列表制作字典

时间:2021-06-10 12:13:55

标签: python dictionary

我有以下列表。

keys = ["key1", "key2", "key3"]

value1 = [1,2]
value2 = [10,20]
value3 = [100,200]

如何使用 python 获得类似 [{"key1":1, "key2":10, "key3":100},{"key1":2, "key2":20, "key3":200}] 的结果?

我尝试了 for 循环,但找不到任何解决方案。

提前致谢

2 个答案:

答案 0 :(得分:5)

您可以使用列表理解首先zip您的值元素,然后通过根据您的键压缩这些值来创建字典。

>>> [dict(zip(keys, i)) for i in zip(value1, value2, value3)]
[{'key1': 1, 'key2': 10, 'key3': 100}, {'key1': 2, 'key2': 20, 'key3': 200}]

答案 1 :(得分:1)

您可以使用 for 循环来做到这一点。像这样

keys = ["key1", "key2", "key3"]

value1 = [1,2]
value2 = [10,20]
value3 = [100,200]
values = [value1, value2, value3]
output = [{}, {}]

for i in range(len(keys)):
    output[0][keys[i]] = values[i][0]
    output[1][keys[i]] = values[i][1]

print(output)

输出

[{'key1': 1, 'key2': 10, 'key3': 100}, {'key1': 2, 'key2': 20, 'key3': 200}]
相关问题