【发布时间】:2013-07-19 00:42:40
【问题描述】:
这是我的代码到目前为止的样子:
给定字典 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)
【问题讨论】:
-
一些提示:你确定需要循环遍历
d2吗?如果您已经检查过d1中的值是否在d2中,为什么还需要将get与备用值一起使用?您有两个具有相同循环变量的循环。 -
一些事情:1)你不能在for循环中使用相同的变量名。第一个 for 循环中的“i”在内部代码中丢失了。 2) 内部 for 循环是不必要的,因为您正在检查 d1 中的值是否是 d2 中的键。 3) d3[d1] 不是你想要的。 4) get() 已经将 None 作为默认值。
标签: python loops dictionary reference