使用嵌套列表在 Python 中创建嵌套字典

问题描述 投票:0回答:2

我有三个清单:

A = ['a','b','c']

B = [[1,2,3],[4,5,6]]

C = ['A','B']

我需要创建一个具有以下特征的字典:

{'A':{'a':1, 'b':2, 'c':3}, 'B':{'a':4, 'b':5, 'c':6}}

这是我的代码,但它失败了,因为第二个循环只显示了最新的交互。

我的代码:

{C[j]: {A[i]:B[j][i]}  for j in range(len(C)) for i in range(len(A))}

输出: {'A': {'c': 3}, 'B': {'c': 6}}

知道如何制作所需的词典吗?

python dictionary
2个回答
1
投票

下面的命令给出了所需的结果:

{c: dict(zip(A, b)) for b in B for c in C}

不建议使用此语法

range(len(C))
在Python中循环迭代。

请参阅另一个问题的答案 https://stackoverflow.com/a/209854,了解构造函数

dict
如何与
zip
内置函数一起使用。


0
投票

我想下面的内容会对你有所帮助。

{k : dict(zip(A, bs)) for k, bs in zip(C, B)} 
© www.soinside.com 2019 - 2024. All rights reserved.