Python—从两个列表中创建一个字典,列表名作为键,列表元素作为值

Python—从两个列表中创建一个字典,列表名作为键,列表元素作为值,python,python-3.x,Python,Python 3.x,我是python和编码的新手 我有两张清单Name=['John'、'Ravi'、'Sam']和Age=[23,45,34]。如何从列表的元素中创建名称和年龄作为键和字典值的字典。生成的字典看起来像 d={'Name':['John','Ravi','Sam'],'Age':[23,45,34]) 我试过zip和Fromkey,但都不行。非常感谢您在这方面提供的任何帮助。您不能动态执行此操作,因为无法从值(在您的案例中列出)到引用它的名称(注意复数形式) 就像Aran Fey已经评论过的那样,

我是python和编码的新手

我有两张清单
Name=['John'、'Ravi'、'Sam']
Age=[23,45,34]
。如何从列表的元素中创建名称和年龄作为键和字典值的字典。生成的字典看起来像

d={'Name':['John','Ravi','Sam'],'Age':[23,45,34])

我试过zip和Fromkey,但都不行。非常感谢您在这方面提供的任何帮助。

您不能动态执行此操作,因为无法从值(在您的案例中列出)到引用它的名称(注意复数形式)

就像Aran Fey已经评论过的那样,您必须通过

d = {'Name': Name, 'Age': Age}
如果
Name
中的名称与
Age
中的年龄对应,为什么不创建直接映射

>>> name_to_age = dict(zip(Name, Age))
>>> name_to_age
{'John': 23, 'Ravi': 45, 'Sam': 34}
>>> name_to_age['Ravi']
45

d={'Name':Name,'Age':Age}
拥有这样一本词典并不十分有趣。最好将这两个列表压缩以创建一个1对1的dict name=>age:
d=dict(zip(name,age))