使用一个字典在另一个字典中获取值

时间:2014-09-17 13:20:45

标签: dictionary

我有这个问题,我有2个字典。一个字典具有代表名称的键(即样本1,样本2等),并且值是坐标。第二个字典的键是坐标,值是每个坐标的数据。

我需要构建一个带有名称(键)的第三个dict,然后从第二个dict中检索相应的值。如下所示:

dict1 = {32.0: [[(1, 7)], [(1, 17)], [(1, 8)], [(1, 18)]]}
dict2 = {(1, 7): 25.746392, (1, 18): 19.4782, (1, 17): 21.7492, (1, 8): 34.492}

dict3 = {32.0: [[25.746392], [21.7492], [34.492], [19.4782]]}

还有更多数据点。我不确定这是一个简单的问题,还是由于第一个字典的嵌套方式而导致问题。

我仍然相对较新的Python,所以感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

两个嵌套的for循环:

dict3 = dict1
for k in dict3.keys():
    for i in range(len(dict3[k])):
        dict3[k][i] = [dict2[dict3[k][i][0]]]
print dict3

输出:

{32.0: [[25.746392], [21.7492], [34.492], [19.4782]]}

<强>一衬垫:

dict3 = {k: [[dict2[dict1[k][i][0]]] for i in range(len(dict1[k]))] for k in dict1.keys()}