PythonZIP 2列表到1字典中

2024-10-03 11:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python做一些纸条,还有一个小问题。在

我有两个列表:

  1. ['name', 'age', 'sex', 'addr', 'city']

  2. ['Jack 24 male no23 NY', 'Jane 25 female no24 NY', 'Dane 14 male no14 NY']

所以我想要:

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循环中自动获取字典?在


Tags: namecityagemalefemaleaddrjackjane
1条回答
网友
1楼 · 发布于 2024-10-03 11:20:59

使用list comprehensiongenerator expression

>>> 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'}

顺便说一句,我建议使用dictionary of dictionary(想想需要100个字典的情况),使用dictionary comprehension

^{pr2}$

相关问题 更多 >