开发者

python中defaultdict字典功能特性介绍

开发者 https://www.devze.com 2022-12-10 11:29 出处:网络 作者: 侯小啾 
defaultdict是普通字典dict的一个子类。通过collections库的defaultdict()方法创建。defaultdict()需要传入的参数为 类名。(type类型)首先,以int类 作为参数传入为例,

defaultdict是普通字典dict的一个子类。通过collections库的defaultdict()方法创建。

defaultdict()需要传入的参数为 类名。(type类型)

首先,以int类 作为参数传入为例,

from collections import defaultdict
dedict = defau编程客栈ltdict(int)
print(dedict)

python中defaultdict字典功能特性介绍

不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误

以调取’a’键的值为例:

print(deiLrEYdict['a'])

python中defaultdict字典功能特性介绍

此键的值默认为零。这是defaultdict()参数为int的情况,参数不同,默认值也不同。

defaultdwww.cppcns.comict()需要传入的参数为 类名。(type类型)

传入其他类,来创建defaultdict(),效果如下:

from collectiohttp://www.cppcns.comns 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'])

程序运行结果如下:

python中defaultdict字典功能特性介绍

可以看出,不存在的键的默认值为 传入 类 的 默认实例对象。

默认值的布尔值通常为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)

python中defaultdict字典功能特性介绍

到此这篇关于python中defaultdwww.cppcns.comict字典功能特性介绍的文章就介绍到这了,更多相关python中defaultdict字典功能特性内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消