如何使用3个列表在Python中创建嵌套字典

TeS*_*er 5 python dictionary

让我们假设,我创建了3个列表,我想为它创建一个字典.例如

a= ['A', 'B', 'C', 'D']
b =[1, 2, 3, 4]
c = [9, 8, 7, 6]
Run Code Online (Sandbox Code Playgroud)

现在我想要的是创建一个这样的字典:

{'A':{'1' :'9'} , 'B':{'2':'8'}, 'C':{'3':'7'} , 'D':{'4':'6'}}
Run Code Online (Sandbox Code Playgroud)

是否有可能,有人可以帮助我吗?

atr*_*tru 6

您可以从zip-ed列表创建字典并将int值转换为字符串 - 如果我理解您的问题

dct = {x: {str(y): str(z)} for x, y, z in zip(a,b,c)}
Run Code Online (Sandbox Code Playgroud)

输出:

{'A': {'1': '9'}, 'C': {'3': '7'}, 'B': {'2': '8'}, 'D': {'4': '6'}}
Run Code Online (Sandbox Code Playgroud)


Tho*_*ger 2

假设您想要的是a外部字典中的键,以及b内部c字典中的键和值元素:

d = {k: {x: y} for k, x, y in zip(a, b, c)}
Run Code Online (Sandbox Code Playgroud)

更新: 但是,在您的示例中,xy是字符串,所以如果这就是您想要的:

d = {k: {str(x): str(y)} for k, x, y in zip(a, b, c)}
Run Code Online (Sandbox Code Playgroud)