[英]Replacing key value in dict B with dict A values
我对这段代码有些不解:这是
def newval(A, B):
for key in A:
if key in B:
B[key][1] = A[key][0]
return B
由于某种原因,这根本不会在我的程序中运行。
基本上,我希望它通过字典A,循环遍历并在字典B中找到相同的键,然后将字典B的键值替换为A。
您可以通过以下代码尝试:
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}
试试下面的代码,
>>> 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}
尝试这个
def newval(A, B):
for key in A:
if key in B:
B[key] = A[key]
return B
根本没有任何效果,因此我怀疑正在读取的文件有问题。 这确实是正确的,因为dict B的键中有单引号,而A没有,而且根本无法比较它们,因为它们都不匹配。
原始代码可以正常工作:
def newval(A, B):
for key in A:
if key in B:
B[key][1] = A[key][0]
return B
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.