您的位置:首页 > 其它

如何将多个字典合并?

2021-01-03 22:10 411 查看

在stackoverflow中看到的这个问题。现有两个字典,使用update方法

x = {'a':1, 'b': 2}
y = {'b':10, 'c': 11}

z = x.update(y)
print(z)
print(x)

结果z却是空,x却被改变了。

None
{'a': 1, 'b': 10, 'c': 11}

字典这种数据结构我经常用到,咱们今天就尝试几种字典合并的方法(字典结果仅限一层)。

方法1
入门Python的人谁都能想到的方法(我也是想到的这个办法)

result = dict(x)

#检测发现result和x不指向同一个地址
print(id(result)==id(x))

for k,v in y.items():
if k in result:
result[k] = result[k]+v
else:
result[k] = v
print(result)
False
{'a': 1, 'b': 12, 'c': 11}

方法2
这个方法简洁清奇,印象深刻。

#新建一个字典,使用**传递key-value对
x = {'a':1, 'b': 2}

y = {'b':10, 'c': 11}

z = {**x, **y}

print(z)
{'a': 1, 'b': 10, 'c': 11}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: