Python中合并兩個(gè)字典的多種方法小結(jié)
在 Python 中合并字典有多種方法,以下是不同場景下的解決方案:
方法 1:使用 ** 解包運(yùn)算符(Python 3.5+)
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = {**dict1, **dict2}
print(merged_dict) # 輸出: {'a': 1, 'b': 3, 'c': 4}
- 特點(diǎn):創(chuàng)建新字典,不修改原字典
- 注意:重復(fù)鍵以最后一個(gè)字典的值為準(zhǔn)
方法 2:使用 update() 方法
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1.update(dict2) # 直接修改 dict1
print(dict1) # 輸出: {'a': 1, 'b': 3, 'c': 4}
- 特點(diǎn):原地修改第一個(gè)字典
- 適用場景:不需要保留原字典時(shí)
方法 3:使用 | 合并運(yùn)算符(Python 3.9+)
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
merged_dict = dict1 | dict2
print(merged_dict) # 輸出: {'a': 1, 'b': 3, 'c': 4}
- 特點(diǎn):語法簡潔,類似
**運(yùn)算符 - 注意:需要 Python 3.9+ 版本
方法 4:處理嵌套字典合并
from collections import ChainMap
dict1 = {"a": {"x": 1}, "b": 2}
dict2 = {"a": {"y": 3}, "c": 4}
merged = ChainMap(dict2, dict1) # 優(yōu)先使用 dict2 的值
print(merged["a"]) # 輸出: {'y': 3}(注意:不會(huì)深度合并嵌套字典)
- 特點(diǎn):適合淺層合并,不遞歸處理嵌套結(jié)構(gòu)
- 進(jìn)階方案:使用
deepmerge庫實(shí)現(xiàn)深度合并
方法 5:自定義合并邏輯(如值相加)
from collections import defaultdict
dict1 = {"a": 10, "b": 20}
dict2 = {"a": 5, "c": 30}
merged = defaultdict(int)
for d in (dict1, dict2):
for key, value in d.items():
merged[key] += value
print(dict(merged)) # 輸出: {'a': 15, 'b': 20, 'c': 30}
- 適用場景:需要自定義合并規(guī)則(如數(shù)值相加、列表拼接等)
總結(jié)建議
- 簡單合并:優(yōu)先使用
**或|運(yùn)算符 - 保留原字典:使用
{**d1, **d2}創(chuàng)建新字典 - 深度合并:使用第三方庫(如
deepmerge) - 自定義邏輯:手動(dòng)遍歷字典實(shí)現(xiàn)特定需求
根據(jù)具體需求選擇最適合的方法即可!
到此這篇關(guān)于Python中合并兩個(gè)字典的多種方法小結(jié)的文章就介紹到這了,更多相關(guān)Python合并兩個(gè)字典內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python定時(shí)任務(wù)框架APScheduler原理及常用代碼
這篇文章主要介紹了Python定時(shí)任務(wù)框架APScheduler原理及常用代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
python實(shí)現(xiàn)kNN算法識(shí)別手寫體數(shù)字的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)kNN算法識(shí)別手寫體數(shù)字的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Python數(shù)據(jù)處理-導(dǎo)入導(dǎo)出excel數(shù)據(jù)
這篇文章主要介紹了Python數(shù)據(jù)處理-導(dǎo)入導(dǎo)出excel數(shù)據(jù),Python的一大應(yīng)用就是數(shù)據(jù)分析了,而數(shù)據(jù)分析中,經(jīng)常碰到需要處理Excel數(shù)據(jù)的情況。這里做一個(gè)Python處理Excel數(shù)據(jù)的總結(jié),需要的小伙伴可以參考一下2022-01-01
Python gmpy2實(shí)現(xiàn)高性能多重精度計(jì)算的終極指南
gmpy2是一個(gè)為Python提供多重精度算術(shù)功能的強(qiáng)大擴(kuò)展庫,無論您是需要處理超大整數(shù)運(yùn)算,還是進(jìn)行高精度浮點(diǎn)數(shù)計(jì)算,gmpy2都能提供遠(yuǎn)超Python標(biāo)準(zhǔn)庫的性能表現(xiàn),下面我們就來看看它的具體使用吧2025-12-12
python實(shí)現(xiàn)讀取大文件并逐行寫入另外一個(gè)文件
下面小編就為大家分享一篇python實(shí)現(xiàn)讀取大文件并逐行寫入另外一個(gè)文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python讀取Word文檔中的Excel嵌入文件的方法詳解
這篇文章主要為大家詳細(xì)介紹了Python讀取Word文檔中的Excel嵌入文件的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-12-12

