Python-将2个列表压缩到1个字典中
我正在用Python制作一些纸条,还有一个小问题 我有两份清单:Python-将2个列表压缩到1个字典中,python,python-2.7,list,dictionary,Python,Python 2.7,List,Dictionary,我正在用Python制作一些纸条,还有一个小问题 我有两份清单: [‘姓名’、‘年龄’、‘性别’、‘地址’、‘城市’] ['Jack 24男23号纽约','Jane 25女24号纽约','Dane 14男14号纽约'] 所以我想要: dictofJack = {'name': 'Jack', 'age': '24', 'sex': 'male', 'addr': 'no23', 'city':'NY'} dictofJane = {'name': 'Jane', 'age': '25', 's
[‘姓名’、‘年龄’、‘性别’、‘地址’、‘城市’]
['Jack 24男23号纽约','Jane 25女24号纽约','Dane 14男14号纽约']
dictofJack = {'name': 'Jack', 'age': '24', 'sex': 'male', 'addr': 'no23', 'city':'NY'}
dictofJane = {'name': 'Jane', 'age': '25', 'sex': 'female', 'addr': 'no24', 'city':'NY'}
dictofDane = {'name': 'Dane', 'age': '14', 'sex': 'male', 'addr': 'no14', 'city':'NY'}
在这种情况下,如何使用zip使其在for循环中自动获取词典?使用或:
顺便说一句,我建议使用字典的字典(想想需要100个字典的情况),而不是使用字典的多个变量,使用:
使用或:
顺便说一句,我建议使用字典的字典(想想需要100个字典的情况),而不是使用字典的多个变量,使用:
可能重复的您想要一个字典列表吗?可能重复的您想要一个字典列表吗?如果两个人同名,情况如何?我有这样的情况:header=['name','age','sex','addr','city']value=['Jack 24 male No 23 NY','Jane 25 male No 24 NY','Jane 14 male No 14 NY']打印{value.split()[0]:dict(zip(header,value.split()))表示值中的值}它将这样打印:{'Jane':{'addr':'No 14','age':'14','city':'NY','name':'Jane','sex':'male','Jack:{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'}那么我们如何解决这个问题呢?@ThắngPhạmNgọc、 如何使用字典列表:
[dict(zip(header,value.split()))作为值中的值:
]`?它将返回一个多字典列表,如下所示:[{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'},{'addr':'no24','age':'25','city':'NY','name':'Jane','sex':'female'},{'addr':'no14','age':'14','city':'NY','name':'Jane','sex':'male'}]这很有效,现在我将尝试将该列表拆分为多个dict。谢谢。如果两个人同名,情况如何?我有以下情况:header=['name','age','sex','addr','city']值=['Jack 24 male No 23 NY','Jane 25 male No 24 NY','Jane 14 male No 14 NY']打印{value.split()[0]:dict(zip(header,value.split()))表示值中的值}它将这样打印:{'Jane':{'addr':'No 14','age':'14','city':'NY','name':'Jane','sex':'male','Jack:{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'}那么我们如何解决这个问题呢?@ThắngPhạmNgọc、 如何使用字典列表:[dict(zip(header,value.split()))作为值中的值:
]`?它将返回一个多字典列表,如下所示:[{'addr':'no23','age':'24','city':'NY','name':'Jack','sex':'male'},{'addr':'no24','age':'25','city':'NY','name':'Jane','sex':'female'},{'addr':'no14','age':'14','city':'NY','name':'Jane','sex':'male'}]这很有效,现在我将尝试将该列表拆分为多个目录。谢谢。
>>> header = ['name', 'age', 'sex', 'addr', 'city']
>>> values = ['Jack 24 male no23 NY',
'Jane 25 female no24 NY',
'Dane 14 male no14 NY']
>>> dictofJack, dictofJane, dictofDane = (
dict(zip(header, value.split())) for value in values
)
>>> dictofJack
{'addr': 'no23', 'age': '24', 'city': 'NY', 'name': 'Jack', 'sex': 'male'}
>>> dictofJane
{'addr': 'no24', 'age': '25', 'city':'NY', 'name': 'Jane', 'sex': 'female'}
>>> dictofDane
{'addr': 'no14', 'age': '14', 'city': 'NY', 'name': 'Dane', 'sex': 'male'}
>>> {value.split()[0]: dict(zip(header, value.split())) for value in values}
{'Jane': {'addr': 'no24', 'age': '25', 'city': 'NY', 'name': 'Jane', 'sex': 'female'},
'Dane': {'addr': 'no14', 'age': '14', 'city': 'NY', 'name': 'Dane', 'sex': 'male'},
'Jack': {'addr': 'no23', 'age': '24', 'city': 'NY', 'name': 'Jack', 'sex': 'male'}}