有没有更好的方法来使用列表理解来表达这一点?或者任何其他方式在一行中表达这一点?
我想用 col 字典中的相应值替换原始字典中的每个值,或者如果它不在 col 字典中,则保持不变。
col = {'1':3.5, '6':4.7}
original = {'1':3, '2':1, '3':5, '4':2, '5':3, '6':4}
for entry in col.iteritems():
original[entry[0]] = entry[1]
有没有更好的方法来使用列表理解来表达这一点?或者任何其他方式在一行中表达这一点?
我想用 col 字典中的相应值替换原始字典中的每个值,或者如果它不在 col 字典中,则保持不变。
col = {'1':3.5, '6':4.7}
original = {'1':3, '2':1, '3':5, '4':2, '5':3, '6':4}
for entry in col.iteritems():
original[entry[0]] = entry[1]
我相信update
是你想要的。
更新([其他])
使用其他键/值对更新字典,覆盖现有键。返回无。
代码:
original.update(col[user])
一个简单的测试:
user = "user"
matrix = {
"user" : {
"a" : "b",
"c" : "d",
"e" : "f",
},
}
col = {
"user" : {
"a" : "b_2",
"c" : "d_2",
},
}
original.update(col[user])
print(original)
输出
{'a': 'b_2', 'c': 'd_2', 'e': 'f'}