- 最简单的原地更新
字典对象内置了一个 update 方法,用于把另一个字典更新到自己身上。
profile = {
"name": "xiaoming", "age": 27}
ext_info = {
"gender": "male"}
profile.update(ext_info)
print(profile)
{‘name’: ‘xiaoming’, ‘age’: 27, ‘gender’: ‘male’}
如果想使用 update 这种最简单、最地道原生的方法,但又不想更新到自己身上,而是生成一个新的对象,那请使用深拷贝。
profile = {
"name": "xiaoming", "age": 27}
ext_info = {
"gender": "male"}
from copy import deepcopy
full_profile = deepcopy(profile)
full_profile.update(ext_info)
print(full_profile)
{‘name’: ‘xiaoming’, ‘age’: 27, ‘gender’: ‘male’}
- 先解包再合并字典
使用 ** 可以解包字典,解包完后再使用 dict 或者 {} 就可以合并。
profile = {
"name": "xiaoming", "age": 27}
ext_info = {
"gender": "male"}
full_profile01 = {
**profile, **ext_info}
print(full_profile01)
full_profile02 = dict(**profile