日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python合并2个字典成1个新字典的9种方法

發布時間:2025/3/20 python 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python合并2个字典成1个新字典的9种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

方法1,使用兩次update方法向字典中添加元素

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'}d = {} d.update(d1) d.update(d2) print(d)#輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法2,先復制,后更新

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} d = d1.copy() d.update(d2) print(d)#輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法3,字典構造器

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} d = dict(d1) d.update(d2) print(d)#輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法4,關鍵字參數hack

只有一行代碼,看上去很酷,但是有一個問題,這種hack技巧只有在字典的鍵是字符串時才有效。

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} d = dict(d1, **d2) print(d) #輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法5,字典推導式,字典推導式方法滿足要求,只是嵌套的字典推導式,不那么清晰,不易于理解。

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} d = {k: v for d in [d1, d2] for k, v in d.items()} print(d)#輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法6,元素拼接

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} d = dict(list(d1.items()) + list(d2.items())) print(d)#輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法7,chain items

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} from itertools import chain d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'}d = dict(chain(d1.items(), d2.items())) print(d)#輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法8,itemscollections.ChainMap可以將多個字典或映射,在邏輯上將它們合并為一個單獨的映射結構

這種方法也很pythonic,而且也是通用方法

from collections import ChainMap d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'}d = dict(ChainMap(d1, d2)) print(d) #輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

方法9,字典拆分

在Python3.5+中,可以使用一種全新的字典合并方式,這行代碼很pythonic

d1 = {'name': 'revotu', 'age': 99} d2 = {'age': 24, 'sex': 'male'} d = {**d1, **d2} print(d) #輸出: {'name': 'revotu', 'age': 24, 'sex': 'male'}

總結

以上是生活随笔為你收集整理的Python合并2个字典成1个新字典的9种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。