程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python字典合並方法大全

編輯:Python
old = {
'遼寧艦': '滑躍', '山東艦': '滑躍'}
new = {
'福建艦': '彈射'}
today = {
}
today.update(old)
today.update(new)
print(f'update方法:{
today}')
today = {
**old, **new}
print(f'字典拆分方法:{
today}')
today = dict(**old, **new)
print(f'拆分兩個字典轉dict方法:{
today}')
#注:兩個字典的所有鍵必須都是字符串,因為要作為dict函數的鍵值對參數傳入
today = dict(old, **new)
print(f'拆分一個字典轉dict方法:{
today}')
#注:此時只需要第二個字典的所有鍵是字符串
today = dict(list(old.items()) + list(new.items()))
print(f'通過列表轉二元組再轉字典方法:{
today}')
today = dict(old.items() | new.items())
print(f'dict+items的|運算方法:{
today}')
today = dict(old | new)
print(f'dict+字典的|運算方法(Python3.9及以上):{
today}')
today = old | new #其實不需要dict
print(f'字典的|運算方法(Python3.9及以上):{
today}')
today = {
k: v for dic in [old, new] for k, v in dic.items()}
print(f'推導式方法:{
today}')
from itertools import chain
today = dict(chain(old.items(), new.items()))
print(f'chain方法:{
today}')
from collections import ChainMap
today = dict(ChainMap(old, new))
print(f'ChainMap方法:{
today}')
#注:ChainMap的字典出現重復的鍵,以靠前的鍵對應的值為准,可以看下面這個例子
new={
'山東艦': '彈射','福建艦': '彈射'}
today = dict(ChainMap(old, new))
print(f'ChainMap方法(山東艦的類型沒有修改成功):{
today}')

輸出:

update方法:{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
字典拆分方法:{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
拆分兩個字典轉dict方法:{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
拆分一個字典轉dict方法:{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
通過列表轉二元組再轉字典方法:{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
dict+items的|運算方法:{
'福建艦': '彈射', '山東艦': '滑躍', '遼寧艦': '滑躍'}
dict+字典的|運算方法(Python3.9及以上):{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
字典的|運算方法(Python3.9及以上):{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
推導式方法:{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
chain方法:{
'遼寧艦': '滑躍', '山東艦': '滑躍', '福建艦': '彈射'}
ChainMap方法:{
'福建艦': '彈射', '遼寧艦': '滑躍', '山東艦': '滑躍'}
ChainMap方法(山東艦的類型沒有修改成功):{
'山東艦': '滑躍', '福建艦': '彈射', '遼寧艦': '滑躍'}

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved