我对这段代码感到有点困惑:这里是
def newval(A, B):
for key in A:
if key in B:
B[key][1] = A[key][0]
return B
由于某种原因,我的程序根本不会运行 基本上我希望它通过dict A,循环并在dict B中找到相同的键,然后用A来替换dict B键值。
答案 0 :(得分:1)
您可以尝试使用此代码:
def newval(A, B):
print A
print B
for key in A:
print key
if key in B:
print key
B[key]=A[key]
print B
return B
A = {'asd':4, 'ad':32}
B = {'asd':5, 'asd':234}
b=newval(A,B)
print b
输出:
{'asd': 4}
{'asd': 4}
答案 1 :(得分:0)
尝试以下代码,
>>> A = {'foo':2, 'bar':3}
>>> B = {'foo':5, 'baram':3}
>>> for key in A:
if key in B:
B[key]=A[key]
>>> A
{'bar': 3, 'foo': 2}
>>> B
{'baram': 3, 'foo': 2}
答案 2 :(得分:0)
试试这个
def newval(A, B):
for key in A:
if key in B:
B[key] = A[key]
return B
答案 3 :(得分:0)
什么都没有用,所以我怀疑正在阅读的文件有问题。这确实是正确的,字典B的键中有单引号,A没有,也无法比较它们,因为它们都没有匹配。
原始代码工作得很好:
def newval(A, B):
for key in A:
if key in B:
B[key][1] = A[key][0]
return B