首页 > 编程语言 > 详细

Python说文解字_defaultdict

时间:2019-06-01 17:06:13      阅读:63      评论:0      收藏:0      [点我收藏+]

1. 这个构造函数需要一个函数作为参数,每当访问一个字典中不存在的键时,将会不带参数的调用这个函数,并将结果设定为默认值。

 

2. 众所周期,如果访问字典中不存在的键时,会引发KeyError异常。

其实这个方法主要是用来统计计数的

# 语法格式:
# collections.defaultdict([default_factory[, …]])

from collections import defaultdict
s=[(yellow,1),(blue, 2), (yellow, 3), (blue, 4), (red, 1)]

d=defaultdict(list)
print(d)

for k, v in s:
    print(k,v)
    d[k].append(v)

a=sorted(d.items())
print(a)

# defaultdict(<class list>, {})
# yellow 1
# blue 2
# yellow 3
# blue 4
# red 1
# [(blue, [2, 4]), (red, [1]), (yellow, [1, 3])]


# 当字典中没有的键第一次出现时,default_factory自动为其返回一个空列表,list.append()会将值添加进新列表;再次遇到相同的键时,list.append()将其它值再添加进该列表。
#
# 这种方法比使用dict.setdefault()更为便捷,dict.setdefault()也可以实现相同的功能。
from collections import defaultdict
s = mississippi
d = defaultdict(int)
for k in s:
    d[k] += 1
print(\n,d)
a=sorted(d.items())
print(\n,a)
# defaultdict( class int>, {m: 1, i: 4, s: 4, p: 2})
# [(i, 4), (m, 1), (p, 2), (s, 4)]

 

Python说文解字_defaultdict

原文:https://www.cnblogs.com/noah0532/p/10960047.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!