根据列表制作一本词典



我有以下列表。

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}]的结果?

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

提前感谢

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

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

您可以通过使用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}]

最新更新