Python 在一行中创建列表字典
有没有办法在一行中创建列表字典Python 在一行中创建列表字典,python,dictionary,nested,Python,Dictionary,Nested,有没有办法在一行中创建列表字典 names = ['alex', 'ben', 'coby'] age = ['20', '30', '40', '50'] name_age = {n: {} for n in names} for n in names: name_age[n] = {a: {} for a in age} 下面这样的嵌套不起作用 name_age = {n: {{a: {} for a in age}} for n in names} 基于两个列表构建词典的最快
names = ['alex', 'ben', 'coby']
age = ['20', '30', '40', '50']
name_age = {n: {} for n in names}
for n in names:
name_age[n] = {a: {} for a in age}
下面这样的嵌套不起作用
name_age = {n: {{a: {} for a in age}} for n in names}
基于两个列表构建词典的最快方法是使用
zip
同时迭代它们。这将有助于:
names=['alex','ben','coby']
年龄=['20','30','40','50']
姓名\年龄=dict(zip(姓名、年龄))
打印(姓名和年龄)
>>>{'alex':'40','ben':'50','coby':'20'}
{'alex':'20','ben':'30','coby':'40'}
name\u age={n:{a:{}表示a在age}表示n在name}
正确答案,请发布。我自己试过了,但一定是弄错了。
names = ['alex', 'ben', 'coby']
ages = ['20', '30', '40', '50']
result = { names[index]:ages[index] for index in range(len(names)) }
print(result)