很多人都把这个讲得很复杂,眼花缭乱的,其实很简单:defaultdict()是对dict的改进,如下:
def default0():
return 0
from collections import defaultdict
ddict=defaultdict(default0)#空字典,由于字典是键-值的形式,由于定义了默认值为0,所以当键不存在,则返回默认值。
dict={}#平常我们常用的空字典,由于没有定义默认值,所以当键不存在,则直接报错。
#测试
print(ddict[1])#随便用什么键测试都行,不一定要是1.
print(dict[1])#随便用什么键测试都行,不一定要是1.
结果如下:一个返回默认值,一个返回0。

分割线
那么defaultdict()有什么用呢?从from collections import defaultdict我们大概就可以猜到,用来计数统计喽。
比如我们需要统计我们的包bag里每一种水果有多少个,如下:
bag = ['apple', 'apple', 'orange']#包里的水果
from collections import defaultdict
ddict=defaultdict(int)#int是什么鬼,带你长长见识,这个相当于默认值为0,更加简洁。但是文章开头那个定义更加通用。
for fruit in bag:
ddict[fruit] += 1
ddict
结果如下:

显然,defaultdict很方便,这个时候,如果我们用最普通的dict的话,是要报错的,因为’apple’这样的键不存在,索引将报错keyerror。
最后
以上就是受伤航空最近收集整理的关于python中defaultdict()函数的介绍以及应用场景的全部内容,更多相关python中defaultdict()函数内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复