从两个不同字典中的值形成字典的问题

时间:2014-09-17 19:52:32

标签: python list dictionary

我有两本词典:

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]]}

老实说,我不确定从哪里开始。是否有一个我错过的模块会让这更容易?

1 个答案:

答案 0 :(得分:1)

你可以用dict理解来做到这一点:

z = {k:[x[vi][:] for vi in v] for k,v in y.items()}

那是:

对于[d]中每个项目k,v的k到[x的值对应于v的值的副本列表]的映射。

(接受jonrsharpe的建议)