gpt4 book ai didi

python - 如何从嵌套列表创建字典列表

转载 作者:行者123 更新时间:2023-12-01 03:03:56 24 4
gpt4 key购买 nike

我有一个字典“键”的 header 列表和一个我想用作“值”的嵌套列表,并且我想返回字典列表。但是,当我迭代嵌套列表和标题列表并将字典附加到列表中时,我只得到最后一个字典。我在这里做错了什么?

rows = [['Branden',27,'M'],['Casey',22,'F'],['Paul',30,'M']]
header = ['Name','Age','Gender']
d = {}
data = []
for item in rows:
for key,value in zip(header,item):
d[key] = value
data.append(d)

data

我得到的输出:

[{'Age': 30, 'Gender': 'M', 'Name': 'Paul'},
{'Age': 30, 'Gender': 'M', 'Name': 'Paul'},
{'Age': 30, 'Gender': 'M', 'Name': 'Paul'}]

我想要的输出:

[{'Name': 'Branden', 'Age': 27, 'Gender': 'M'}, 
{'Name': 'Casey', 'Age': 22, 'Gender': 'F'},
{'Name': 'Paul', 'Age': 30, 'Gender': 'M'}]

我在这里做错了什么?

最佳答案

dict 将元组的可迭代对象解释为键值对。因此,您所要做的就是使用 zip(headerrow, next_row) (伪代码!)作为所有行的参数来调用 dict

>>> header = ['key1', 'key2', 'key3']
>>> values = [['a', 'b', 'c'], ['d', 'e', 'f']]
>>> dicts = [dict(zip(header, v)) for v in values]
>>> dicts
[{'key3': 'c', 'key2': 'b', 'key1': 'a'}, {'key3': 'f', 'key2': 'e', 'key1': 'd'}]

关于python - 如何从嵌套列表创建字典列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43573937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com