【发布时间】:2016-09-07 13:47:45
【问题描述】:
我有两个字典,我试图首先在 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
想法?
谢谢。 -乔恩
【问题讨论】:
-
不仅
v没有定义而且d1和d2不是函数,所以不能写d1(...)。
标签: python-2.7 loops dictionary key