我有两本词典:
y = {0:[345, 543], 1: [657, 789], 2: [867, 213]}
x = {867: [1,6], 657: [1,4], 213: [1,7], 345: [1, 2], 543: [1, 3], 789: [1, 5]}
我想创建第三个字典,用字典y
中的相应列表值替换字典x
中的值列表。所以最终我想结束:
z = {0: [[1,2],[1,3]], 1:[[1,4],[1,5]], 2:[[1,6],[1,7]]}
老实说,我不确定从哪里开始。是否有一个我错过的模块会让这更容易?
答案 0 :(得分:1)
你可以用dict理解来做到这一点:
z = {k:[x[vi][:] for vi in v] for k,v in y.items()}
那是:
对于[d]中每个项目k,v的k到[x的值对应于v的值的副本列表]的映射。
(接受jonrsharpe的建议)