Python合併2個字典成1個新字典的方法(9種)
阿新 • • 發佈:2020-01-09
字典是Python語言中唯一的對映型別。
對映型別物件裡雜湊值(鍵,key)和指向的物件(值,value)是一對多的的關係,通常被認為是可變的雜湊表。
字典物件是可變的,它是一個容器型別,能儲存任意個數的Python物件,其中也可包括其他容器型別。
字典型別與序列型別的區別:
1. 存取和訪問資料的方式不同。
2. 序列型別只用數字型別的鍵(從序列的開始按數值順序索引);
3. 對映型別可以用其他物件型別作鍵(如:數字、字串、元祖,一般用字串作鍵),和序列型別的鍵不同,對映型別的鍵直4.接或間接地和儲存資料值相關聯。
5. 對映型別中的資料是無序排列的。這和序列型別是不一樣的,序列型別是以數值序排列的。
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種),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!