熱線電話:13121318867

登錄
首頁精彩閱讀Python字典類型專用運算符
Python字典類型專用運算符
2022-06-21
收藏

作者:小K

來源:麥叔編程

Python字典類型專用運算符

?

如果我們在寫Python代碼的時候需要把多個字典合并,那么我們將如何使用代碼去實現呢?

?

回想合并字典的辦法

1. 遍歷轉移

origin_dct = {"Maishu":"python", "Kevin":"java", "Jason":"PHP"}
new_dct = {"Garvey":"CSS"}
for k, v in origin_dct.items():
    new_dct[k] =  v

print(new_dct)

代碼運行結果:

{'Garvey': 'CSS', 'Maishu': 'python', 'Kevin': 'java', 'Jason': 'PHP'}

2. 用dict(b, **a)方法創建一個新的字典

origin_dct = {"Maishu":"python", "Kevin":"java", "Jason":"PHP"}
new_dct = {"Garvey":"CSS"}
dct = dict(new_dct, **origin_dct)
print(dct)

代碼運行結果:

{'Garvey': 'CSS', 'Maishu': 'python', 'Kevin': 'java', 'Jason': 'PHP'}

3. 用dict.update(param)方法

origin_dct = {"Maishu":"python", "Kevin":"java", "Jason":"PHP"}
new_dct = {"Garvey":"CSS"}
new_dct.update(origin_dct)
print(new_dct)

代碼運行結果:

{'Garvey': 'CSS', 'Maishu': 'python', 'Kevin': 'java', 'Jason': 'PHP'}

4. 把字典拆成其他類型,合并完后再轉成字典

origin_dct = {"Maishu":"python", "Kevin":"java", "Jason":"PHP"}
new_dct = {"Garvey":"CSS"}
dct = dict(list(origin_dct.items()) + list(new_dct.items()))

print(dct)

代碼運行結果:

{'Maishu': 'python', 'Kevin': 'java', 'Jason': 'PHP', 'Garvey': 'CSS'}
Python字典類型專用運算符

使用運算符“|”合并字典

以上四種方法都是使用函數進行合并的,看上去都不太簡便。

使用運算符合并的話,代碼會更直觀,對讀寫的人都更友好。

origin_dct = {"Maishu":"python", "Kevin":"java", "Jason":"PHP"}
new_dct = {"Garvey":"CSS"}

dct = origin_dct | new_dct
print(dct)

代碼運行結果:

{'Maishu': 'python', 'Kevin': 'java', 'Jason': 'PHP', 'Garvey': 'CSS'}

?

使用這種方式合并字典是不是很Python?不著急,合并運算符“|”在字典中還有另一種使用方法。

?

使用“|=” 可以用來更新字典

上面使用合并運算符之后,會生成一個新的字典對象。

那么如果我只是單純的想把合并結果更新到已存在的字典對象中呢?

類似于列表的append方法,或 x += 1操作。

origin_dct = {"Maishu":"python", "Kevin":"java", "Jason":"PHP"}
new_dct = {"Garvey":"CSS","Maishu":"Go"}

origin_dct |= new_dct
print(origin_dct)

代碼運行結果:

{'Maishu': 'python', 'Kevin': 'java', 'Jason': 'PHP', 'Garvey': 'CSS'}

使用|=可以輕松實現。

后記

還記得|運算符在Python的哪個內容中有出現嗎?

| 按位或運算符,屬于位運算符。

在某些場合|也會被用來做“或”邏輯運算符,例如在正則中。

當然做合并操作的時候只有在碰到字典類型。

Python字典類型專用運算符

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢