日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python中defaultdict字典功能特性介紹_python

作者:侯小啾?? ? 更新時間: 2022-04-16 編程語言

defaultdict是普通字典dict的一個子類。通過collections庫的defaultdict()方法創建。
defaultdict()需要傳入的參數為 類名。(type類型)
首先,以int類 作為參數傳入為例,

from collections import defaultdict
dedict = defaultdict(int)
print(dedict)

不同于普通的字典,其特性在于,當用一個defaultdict中不存在的鍵來調用時,不會報KeyError錯誤

以調取’a’鍵的值為例:

print(dedict['a'])

此鍵的值默認為零。這是defaultdict()參數為int的情況,參數不同,默認值也不同。

defaultdict()需要傳入的參數為 類名。(type類型)

傳入其他類,來創建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)

# 創建一個什么用都沒有的類
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'])

程序運行結果如下:

可以看出,不存在的鍵的默認值為 傳入 類 的 默認實例對象。
默認值的布爾值通常為False,但也不一定。
是否為False跟類有關,如此處的通過A類的布爾值就為True。

甚至,還可以套娃:

dedict9 = defaultdict(defaultdict)
print(dedict9['a'])

defaultdict常用于統計多個目標數據的個數,并存儲在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)

原文鏈接:https://skylarkprogramming.blog.csdn.net/article/details/122839482

欄目分類
最近更新