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

