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

python中defaultdict用法實(shí)例詳解

 更新時(shí)間:2022年09月14日 15:32:46   作者:IT之一小佬  
python中的dict是一個(gè)重要的數(shù)據(jù)類型,知道如何使用這個(gè)數(shù)據(jù)類型很簡(jiǎn)單,但是這個(gè)類型使用過(guò)程中容易進(jìn)入一些誤區(qū),下面這篇文章主要給大家介紹了關(guān)于python中defaultdict用法的相關(guān)資料,需要的朋友可以參考下

defaultdict底層代碼:

在字典中查找某個(gè)值時(shí),若key不存在時(shí)則會(huì)返回一個(gè)KeyError錯(cuò)誤而不是一個(gè)默認(rèn)值,這時(shí)候可以使用defaultdict函數(shù)。

注意:使用dict[key]=value時(shí),若key不存在則報(bào)錯(cuò);使用dict.get(key)時(shí),若key不存在則會(huì)返回一個(gè)默認(rèn)值。

defaultdict接受一個(gè)工廠函數(shù)作為參數(shù),如下來(lái)構(gòu)造:

dict =defaultdict( factory_function)

factory_function可以是list、set、str等等,作用是當(dāng)key不存在時(shí),返回的是工廠函數(shù)的默認(rèn)值,比如list對(duì)應(yīng)[ ],str對(duì)應(yīng)的是空字符串,set對(duì)應(yīng)set( ),int對(duì)應(yīng)0。

defaultdict是python內(nèi)建dict類的一個(gè)字類,功能與dict相同,但它帶有一個(gè)默認(rèn)的值,若key值不存在時(shí)返回一個(gè)默認(rèn)的值。

示例代碼:

lst = ['A', 'B', 'C', 'D', 'e']
dic = {}
 
for i in lst:
    dic[i] += 1
print(dic)

若訪問(wèn)字典中的key值不存在時(shí)會(huì)報(bào)KeyError錯(cuò)誤,這時(shí)候就可以使用defaultdict類來(lái)避免這種錯(cuò)誤。

dict.setdefault()方法:有兩個(gè)參數(shù),第一個(gè)是參數(shù),第二個(gè)是默認(rèn)值。

示例代碼:

lst = ['A', 'B', 'C', 'D', 'e']
dic = {}
 
for i in lst:
    dic.setdefault(i, 0)
    dic[i] += 1
print(dic)

示例代碼:

from collections import defaultdict
 
dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(str)
dict4 = defaultdict(list)
dict4[1] = 666
 
 
print(dict1[0])
print(dict2[0])
print(dict3[0])
print(dict4[0])
print(dict4[1])

運(yùn)行效果:

setdefault()和defaultdict()的區(qū)別:

setdefault()

setdefault()是字典的一個(gè)實(shí)例方法,接收兩個(gè)參數(shù),用法和字典的get()方法相似,但是比get()方法更加強(qiáng)大。都為字典的key設(shè)置一個(gè)默認(rèn)值。

二者的區(qū)別是:get 方法設(shè)置的默認(rèn)值不會(huì)改變?cè)值洌?而setdefault設(shè)置的默認(rèn)值會(huì)改變?cè)值涞闹怠?/p>

示例代碼:

dic1 = {"A": "a", "B": "b"}
x = dic1.get("E", "e")
print(x)
print(dic1)
 
dic2 = {"C": "c", "D": "d"}
y = dic2.setdefault("E", 'e')
print(y)
print(dic2)

 defaultdict()

defaultdict是屬于collections 模塊下的一個(gè)工廠函數(shù),用于構(gòu)建字典對(duì)象,接收一個(gè)函數(shù)(可調(diào)用)對(duì)象為作為參數(shù)。參數(shù)返回的類型是什么,key對(duì)應(yīng)value就是什么類型。

示例代碼:

from collections import defaultdict
 
lst = [("A", "1"), ("B", "1"), ("A", "2"), ("B", "2"), ("A", "3"), ("B", "3")]
dic = defaultdict(list)
for key, value in lst:
    dic[key].append(value)
print(dic)

總結(jié) 

到此這篇關(guān)于python中defaultdict用法的文章就介紹到這了,更多相關(guān)python defaultdict用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論