欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的字典合并與列表合并技巧

 更新時(shí)間:2022年05月07日 17:01:49   作者:螞蟻ailing  
這篇文章主要介紹了Python中的字典合并與列表合并技巧,下文圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一的的參考價(jià)值,需要的小伙伴可以參考一下

前言

又到了每日分享Python小技巧的時(shí)候了,今天給大家分享的是Python中兩種常見(jiàn)的數(shù)據(jù)類型合并方法。

1 合并字典

在某些場(chǎng)景下,我們需要對(duì)兩個(gè)(多個(gè))字典進(jìn)行合并。例如需要將如下兩個(gè)字典進(jìn)行合并:

dict1 = {"a": 2, "b": 3, "c": 5}
dict2 = {"a": 1, "c": 3, "d": 8}

且合并后的結(jié)果為:

{'c': 8, 'd': 8, 'a': 3, 'b': 3}

那么應(yīng)該如何操作呢?由于兩個(gè)字典并不能夠直接進(jìn)行相加,因此首先需要將各個(gè)字典轉(zhuǎn)換為Counter類,然后再進(jìn)行相加。

具體代碼如下:

from collections import Counter
dict1 = {"a": 2, "b": 3, "c": 5}
dict2 = {"a": 1, "c": 3, "d": 8}
result = Counter({})
for item in [dict1,dict2]:
     result += Counter(item)
print(result) # Counter({'c': 8, 'd': 8, 'a': 3, 'b': 3})

當(dāng)然,如果只是兩個(gè)字典相加,那么只用一行代碼即可:

result = Counter(dict1) + Counter(dict2)

2 合并列表

在某些場(chǎng)景下,我們需要對(duì)兩個(gè)(多個(gè))列表進(jìn)行合并,從而得到一個(gè)包含有各個(gè)元素出現(xiàn)頻率的字典

例如需要將如下兩個(gè)列表:

a = ["天", "之", "道", "損", "有", "余", "而", "補(bǔ)", "不", "足"]
b = ["人", "之", "道", "損", "不", "足", "而", "補(bǔ)", "有", "余"]

合并為:

Counter({'之': 2, '道': 2, '損': 2, '有': 2, '余': 2, '而': 2, '補(bǔ)': 2, '不': 2, '足': 2, '天': 1, '人': 1})

那么只需要通過(guò)如下代碼即可實(shí)現(xiàn):

from collections import Counter
counter = Counter()
for item in [a, b]:
     counter.update(item)
print(counter)

當(dāng)然,除了在構(gòu)建詞表的時(shí)候可以使用這種方法,在對(duì)列表進(jìn)行重復(fù)元素查找或者統(tǒng)計(jì)時(shí)同樣可以使用本方法。

到此這篇關(guān)于Python中的字典合并與列表合并技巧的文章就介紹到這了,更多相關(guān)Python 字典列表合并內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論