One - One Code All

Blog Content

python中collections.defaultdict()的使用

Python   2016-08-17 20:38:47

Python中通过Key访问字典,当Key不存在时,会引发‘KeyError’异常。为了避免这种情况的发生,可以使用collections类中的defaultdict()方法来为字典提供默认值。


语法格式: 

collections.defaultdict([default_factory[, …]])


该函数返回一个类似字典的对象。

defaultdict是Python内建字典类(dict)的一个子类,它重写了方法_missing_(key),增加了一个可写的实例变量default_factory,实例变量default_factory被missing()方法使用,如果该变量存在,则用以初始化构造器,如果没有,则为None。其它的功能和dict一样。


第一个参数为default_factory属性提供初始值,默认为None;其余参数包括关键字参数(keyword arguments)的用法,和dict构造器用法一样。


>>> from collections import defaultdict

>>> s=[('yellow',1),('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]

>>> d=defaultdict(list)

>>> for k, v in s:

...     d[k].append(v)

...

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

>>> a

[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]



上一篇:python的时间格式datetime、str与date的相互转换
下一篇:python中@classmethod @staticmethod区别

The minute you think of giving up, think of the reason why you held on so long.