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)