我有两个词典,其中我试图首先在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
答案 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}列表中第三个值的差值}}