比较两个字典键和值

时间:2016-09-07 13:47:45

标签: python-2.7 loops dictionary key

我有两个词典,其中我试图首先在d2中找到d1中的匹配键,然后从两个词典中输出该键中第三个值的减法。这可以在一个循环函数中完成吗?首先我尝试分两步进行,但这给了我一个d3的空列表,然后我尝试使用一个循环,但它给了我错误,v未定义。

d1 = {'alpha': [5, 9, 11], 'beta': [6, 10, 20], 'gamma': [12, 15, 19]}
d2 = {'alpha': [3, 8, 20], 'omega': [15, 32, 40], 'ro': [22, 25, 4]}

d3 = {}
for key in d1:
    if key in d2:
        d3.setdefault(key, []).append
print d3
#Should be d3 = {'alpha': [3, 8, 20]}

#Compare and Calculate the difference between 20 and 11 in the alpha key
value = d3(key, v(2)) - d1(key, v(2))
print value
#value = 9

#Can a loop just find the key in d2 and that matches key in d1
#and calculate the difference?
for key in d1:
    if key in d2:
        value = d2(key, v(2)) - d1(key, v(2))
        print value

思想?

谢谢。 -Jon

1 个答案:

答案 0 :(得分:0)

你可以使用词典理解:

git branch -d branch_tmp

这将为您提供一个字典,其中所有键都与diff = {key: d2[key][2] - d1[key][2] for key in d2 if key in d1} # {'alpha': 9} d2相同,值是d1和{{1}列表中第三个值的差值}}