【发布时间】:2019-06-27 03:35:33
【问题描述】:
我想将我的 3 个字典组合成 1 个嵌套字典。我使用 3 个嵌套的 for 循环编写了以下代码。但是对于同一件事是否有任何有效的方法或递归函数?
X = {"X1":["O","E","P"],"X2":["M"]}
Y = {"O":["a"],"E":["b","c"],"P":["d"],"M":["r"]}
Z = {"a":["1"],"b":["2","3"],"c":[],"d":["4","5"],"r":["6"]}
d1 = {}
for k in X:
A = X[k]
d2 = {}
for v in A:
B = Y[v]
d3 = {}
for i in B:
C = Z[i]
d3.update({i:C})
d2.update({v:d3})
d1.update({k:d2})
【问题讨论】:
-
请注意,您可以使用
dict[key] = value而不是dict.update({key: value})来简化,并消除只使用一次的名称(即A、B、C)。所以C = Z[i]; d3.update({i: C})会变成d3[i] = Z[i]
标签: python dictionary