从两个列表创建字典

2024-04-23 15:04:12 发布

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

我是新来的,我有一些问题完成我的家庭作业的一部分。基本上我有两个清单:

names = ["Jerry", "Fernando", "Radu", "Juan", "Brie", "Dani", "Fallon", "Nina", "Max", "Mike", "Johnny", "Saul", "Simon", "Billy"]
ages = [27, 27, 23, 27, 27, 23, 33, 32, 25, 32, 26, 26, 29, 24]

我想要的是一本这样的字典:

{'Jerry': {'age': 27},
 'Fernando': {'age': 27},
 # ...
 'Billy': {'age': 24},
}

我使用元组来显示它,就像这样[('Jerry', 27), ('Fernando', 27), ..., ('Billy', 24)],但是我不知道如何在字典中显示它,每个键、值都在一个新行上。你知道吗


Tags: age字典namesmaxmikejuan家庭作业billy
1条回答
网友
1楼 · 发布于 2024-04-23 15:04:12

使用字典理解:

{name: {'age': age} for name, age in zip(names, ages)}

演示:

>>> from pprint import pprint
>>> names = ["Jerry", "Fernando", "Radu", "Juan", "Brie", "Dani", "Fallon", "Nina", "Max", "Mike", "Johnny", "Saul", "Simon", "Billy"]
>>> ages = [27, 27, 23, 27, 27, 23, 33, 32, 25, 32, 26, 26, 29, 24]
>>> {name: {'age': age} for name, age in zip(names, ages)}
{'Mike': {'age': 32}, 'Simon': {'age': 29}, 'Johnny': {'age': 26}, 'Max': {'age': 25}, 'Juan': {'age': 27}, 'Jerry': {'age': 27}, 'Fernando': {'age': 27}, 'Nina': {'age': 32}, 'Billy': {'age': 24}, 'Radu': {'age': 23}, 'Dani': {'age': 23}, 'Fallon': {'age': 33}, 'Brie': {'age': 27}, 'Saul': {'age': 26}}
>>> pprint(_)
{'Billy': {'age': 24},
 'Brie': {'age': 27},
 'Dani': {'age': 23},
 'Fallon': {'age': 33},
 'Fernando': {'age': 27},
 'Jerry': {'age': 27},
 'Johnny': {'age': 26},
 'Juan': {'age': 27},
 'Max': {'age': 25},
 'Mike': {'age': 32},
 'Nina': {'age': 32},
 'Radu': {'age': 23},
 'Saul': {'age': 26},
 'Simon': {'age': 29}}
网友
2楼 · 发布于 2024-04-23 15:04:12

你可以把它拉上:

dict(zip(names, ({'age': a} for a in ages)))

相关问题 更多 >