python中defaultdict字典功能特性是什么
这篇文章主要介绍python中defaultdict字典功能特性是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
defaultdict是普通字典dict的一个子类。通过collections库的defaultdict()方法创建。
defaultdict()需要传入的参数为 类名。(type类型)
首先,以int类 作为参数传入为例,
from collections import defaultdictdedict = defaultdict(int)print(dedict)
不同于普通的字典,其特性在于,当用一个defaultdict中不存在的键来调用时,不会报KeyError错误
以调取’a’键的值为例:
print(dedict['a'])
此键的值默认为零。这是defaultdict()参数为int的情况,参数不同,默认值也不同。
defaultdict()需要传入的参数为 类名。(type类型)
传入其他类,来创建defaultdict(),效果如下:
from collections import defaultdictdedict1 = 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 defaultdictbag = ["cheese", "Bread", "apple", "Bread", "orange", "cheese", 'apple',"milk", "apple", "bananas", "milk"]count = defaultdict(int)for item in bag: count[item] += 1print(count)
以上是“python中defaultdict字典功能特性是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341