python中defaultdict字典功能特性介紹
defaultdict
是普通字典dict的一個子類。通過collections
庫的defaultdict()方法創(chuàng)建。
defaultdict()需要傳入的參數(shù)為 類名。(type類型)
首先,以int類 作為參數(shù)傳入為例,
from collections import defaultdict dedict = defaultdict(int) print(dedict)
不同于普通的字典,其特性在于,當(dāng)用一個defaultdict
中不存在的鍵來調(diào)用時,不會報KeyError
錯誤
以調(diào)取’a’鍵的值為例:
print(dedict['a'])
此鍵的值默認(rèn)為零。這是defaultdict()
參數(shù)為int
的情況,參數(shù)不同,默認(rèn)值也不同。
defaultdict()需要傳入的參數(shù)為 類名。(type類型)
傳入其他類,來創(chuàng)建defaultdict(),效果如下:
from collections import defaultdict dedict1 = defaultdict(list) dedict2 = defaultdict(set) dedict3 = defaultdict(dict) dedict4 = defaultdict(tuple) dedict5 = defaultdict(int) dedict6 = defaultdict(float) dedict7 = defaultdict(str) # 創(chuàng)建一個什么用都沒有的類 class A(object): ? ? pass # 傳入可用! dedict8 = defaultdict(A) print(dedict1['a']) print(dedict2['a']) print(dedict3['a']) print(dedict4['a']) print(dedict5['a']) print(dedict6['a']) print(dedict7['a']) print(dedict8['a'])
程序運(yùn)行結(jié)果如下:
可以看出,不存在的鍵的默認(rèn)值為 傳入 類 的 默認(rèn)實(shí)例對象。
默認(rèn)值的布爾值通常為False,但也不一定。
是否為False跟類有關(guān),如此處的通過A類的布爾值就為True。
甚至,還可以套娃:
dedict9 = defaultdict(defaultdict) print(dedict9['a'])
defaultdict常用于統(tǒng)計多個目標(biāo)數(shù)據(jù)的個數(shù),并存儲在defaultdict字典中。
示例如下:
from collections import defaultdict bag = ["cheese", "Bread", "apple", "Bread", "orange", "cheese", 'apple',"milk", "apple", "bananas", "milk"] count = defaultdict(int) for item in bag: ? ? count[item] += 1 print(count)
到此這篇關(guān)于python中defaultdict字典功能特性介紹的文章就介紹到這了,更多相關(guān)python中defaultdict字典功能特性內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python-itchat 統(tǒng)計微信群、好友數(shù)量,及原始消息數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇python-itchat 統(tǒng)計微信群、好友數(shù)量,及原始消息數(shù)據(jù)的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02Python3 用matplotlib繪制sigmoid函數(shù)的案例
這篇文章主要介紹了Python3 用matplotlib繪制sigmoid函數(shù)的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12python編程開發(fā)之類型轉(zhuǎn)換convert實(shí)例分析
這篇文章主要介紹了python編程開發(fā)之類型轉(zhuǎn)換convert用法,結(jié)合實(shí)例形式分析了Python中常見的數(shù)據(jù)類型及類型轉(zhuǎn)換convert的具體使用方法,需要的朋友可以參考下2015-11-11python+Word2Vec實(shí)現(xiàn)中文聊天機(jī)器人的示例代碼
本文主要介紹了python+Word2Vec實(shí)現(xiàn)中文聊天機(jī)器人,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03Python光學(xué)仿真教程實(shí)現(xiàn)光線追蹤
傳統(tǒng)的高斯光學(xué)是建立在傍軸近似基礎(chǔ)之上的理想成像理論,這種處理以物像關(guān)系為核心,通過基點(diǎn)對光路的成像特性進(jìn)行描述。然而,傍軸近似在一定程度上犧牲了精確性,從而使得需要一套像差理論作為補(bǔ)充2021-10-10Python實(shí)現(xiàn)特定場景去除高光算法詳解
這篇文章主要介紹了如何利用Python+OpenCV實(shí)現(xiàn)特定場景去除高光算法,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2021-12-12