python中defaultdict字典功能特性介绍
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)
到此这篇关于python中defaultdict字典功能特性介绍的文章就介绍到这了,更多相关python中defaultdict字典功能特性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python实现读取目录所有文件的文件名并保存到txt文件代码
这篇文章主要介绍了Python实现读取目录所有文件的文件名并保存到txt文件代码,本文分别使用os.listdir和os.walk实现给出两段实现代码,需要的朋友可以参考下2014-11-11Python语音合成之第三方库gTTs/pyttsx3/speech横评(内附使用方法)
Python是一种非常强大的脚本语言,可以用来实现各种复杂的应用,其中之一就是文本转语音,即把文字转换成声音来发出,下面这篇文章主要给大家介绍了关于Python语音合成之第三方库gTTs/pyttsx3/speech横评的相关资料,文中还介绍了详细的使用方法,需要的朋友可以参考下2023-05-05Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统
这篇文章主要介绍了Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript实现社交分享系统,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-04-04如何解决pycharm中用matplotlib画图不显示中文的问题
这篇文章主要介绍了如何解决pycharm中用matplotlib画图不显示中文的问题,文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下2022-06-06
最新评论