这是我的代码到目前为止的样子:
给定字典d1和d2,创建一个具有以下属性的新字典:对于d1中的每个条目(a,b),如果d2中有条目(b,c),则条目(a,c) )应该添加到新词典中。 例如,如果d1是{2:3,8:19,6:4,5:12}而d2是{2:5,4:3,3:9},则新词典应为{2:9} ,6:3} 将新词典与变量d3
相关联d3 ={}
for i in d1:
for i in d2:
if d1.get(i,default=none) in d2:
d3[d1] = d2.get(i,default = None)
答案 0 :(得分:2)
重申Ryan所说的,你应该做自己的功课。
d3 = {}
for k,v in d1.items():
if v in d2.keys():
d3[k] = d2[v]
答案 1 :(得分:1)
Python可以很好地表达这一点。太糟糕了它的家庭作业,你可能无法使用字典理解或其他任何限制你的老师"给你
>>> d1 = {2:3, 8:19, 6:4, 5:12}
>>> d2 = {2:5, 4:3, 3:9}
>>> d3 = {a:d2[b] for a, b in d1.items() if b in d2}
>>> d3
{2: 9, 6: 3}
对于Python2.5或Python2.6,使用带dict()
d3 = dict((a, d2[b]) for a, b in d1.items() if b in d2)
对于2.4,请参阅@ KP的回答
答案 2 :(得分:0)
或者,如果你喜欢单行:
d3 = dict([(k, d2[v]) for k, v in d1.items() if v in d2])