【发布时间】:2020-01-11 00:50:40
【问题描述】:
我想从每个列表中创建一个具有相同索引元素的字典列表。
我有这本词典:
d = {'name': ['bob', 'john', 'harry', 'mary'],
'age': [13, 19, 23],
'height': [164, 188],
'job': ['programmer']}
想要的输出是:
d2 = [{'name': 'bob', 'age': 13, 'height': 164, 'job': 'programmer'},
{'name': 'john', 'age': 19, 'height': 188},
{'name': 'harry', 'age': 23},
{'name': 'mary'}]
我尝试过这样的事情:
d2 = [dict(zip(d, t)) for t in zip(*d.values())]
但我的输出是:
d2 = [{'name': 'bob', 'age': 13, 'height': 164, 'job': 'programmer'}]
我认为这是因为列表的长度不同。
【问题讨论】:
标签: python dictionary list-comprehension itertools