1. 程式人生 > 程式設計 >Python合併2個字典成1個新字典的方法(9種)

Python合併2個字典成1個新字典的方法(9種)

字典是Python語言中唯一的對映型別。

對映型別物件裡雜湊值(鍵,key)和指向的物件(值,value)是一對多的的關係,通常被認為是可變的雜湊表。
字典物件是可變的,它是一個容器型別,能儲存任意個數的Python物件,其中也可包括其他容器型別。

字典型別與序列型別的區別:

1. 存取和訪問資料的方式不同。
2. 序列型別只用數字型別的鍵(從序列的開始按數值順序索引);
3. 對映型別可以用其他物件型別作鍵(如:數字、字串、元祖,一般用字串作鍵),和序列型別的鍵不同,對映型別的鍵直4.接或間接地和儲存資料值相關聯。
5. 對映型別中的資料是無序排列的。這和序列型別是不一樣的,序列型別是以數值序排列的。

6. 對映型別用鍵直接“對映”到值。

d1 = {'name': 'revotu','age': 99}
d2 = {'age': 24,'sex': 'male'}
輸出:
{'name': 'revotu','age': 24,'sex': 'male'}
# d = {}
# d.update(d1)       # 方法1,使用兩次update方法向字典中新增元素
# d.update(d2)
# print(d)
# d = d1.copy()      # 方法2,先複製,後更新
# d.update(d2)
# print(d)
# d = dict(d1)        # 方法3,字典構造器
# d.update(d2)
# print(d)
# d = dict(d1,**d2)      # 方法4,關鍵字引數hack
# print(d)           # 只有一行程式碼,看上去很酷,但是有一個問題,這種hack技巧只有在字典的鍵是字串時才有效。
# d = {k: v for d in [d1,d2] for k,v in d.items()}  # 方法5,字典推導式,字典推導式方法滿足要求,只是巢狀的字典推導式,不那麼清晰,不易於理解。
# print(d)
# d = dict(list(d1.items()) + list(d2.items()))    # 方法6,元素拼接
# print(d)
# d = dict(chain(d1.items(),d2.items()))        # 方法7,chain items    from itertools import chain
# print(d)
# d = dict(ChainMap(d1,d2))           # 方法8,itemscollections.ChainMap可以將多個字典或對映,在邏輯上將它們合併為一個單獨的對映結構
# print(d)                    # 這種方法也很pythonic,而且也是通用方法   from collections import ChainMap
d = {**d1,**d2}       # 方法9,字典拆分
print(d)           # 在Python3.5+中,可以使用一種全新的字典合併方式,這行程式碼很pythonic

總結

以上所述是小編給大家介紹的Python合併2個字典成1個新字典的方法(9種),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!