python中defaultdict字典功能特性介绍
作者:侯小啾 时间:2022-06-07 23:27:45
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
标签:python,defaultdict,字典
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
pyinstaller打包django项目的实现步骤
2022-08-17 14:28:15
![](https://img.aspxhome.com/file/2023/3/66313_0s.png)
自动更新程序的设计框架
2009-08-12 13:00:00
![](https://img.aspxhome.com/file/UploadPic/20098/12/1124390-80s.jpg)
sql数据库批量处理脚本
2011-11-03 17:23:19
你的网页“面目全非”过吗?
2010-07-02 16:24:00
jQuery 取得 background-position 的值
2009-04-05 16:02:00
详解Python list 与 NumPy.ndarry 切片之间的对比
2023-02-16 10:25:23
Python selenium模拟网页点击爬虫交管12123违章数据
2023-09-26 18:30:37
![](https://img.aspxhome.com/file/2023/4/67374_0s.jpg)
节日快乐! Python画一棵圣诞树送给你
2022-06-11 07:53:09
![](https://img.aspxhome.com/file/2023/6/92306_0s.jpg)
几个javascript特效代码
2010-04-23 20:39:00
进行数据处理的6个 Python 代码块分享
2022-10-21 12:56:18
奇淫技巧之图片切割
2010-09-21 13:24:00
在pytorch中计算准确率,召回率和F1值的操作
2022-02-13 18:06:40
![](https://img.aspxhome.com/file/2023/8/76778_0s.png)
OpenCV形状检测的示例详解
2023-11-11 06:17:14
![](https://img.aspxhome.com/file/2023/9/97489_0s.png)
python3的pip路径在哪
2023-01-27 14:15:39
python实现批量监控网站
2023-07-22 20:41:08
CSS样式设计技巧十则
2008-06-04 12:18:00
Python Pandas基础操作详解
2022-02-18 11:17:07
python中multiprosessing模块的Pool类中的apply函数和apply_async函数的区别
2023-03-21 20:23:37
![](https://img.aspxhome.com/file/2023/0/81860_0s.png)
深入浅析Python代码规范性检测
2023-08-23 21:16:55
![](https://img.aspxhome.com/file/2023/7/62617_0s.png)
CSS资料中常见英语词语翻译整理
2008-08-29 12:50:00