python collections defaultdict

时间:2022-11-20 15:41:52

  class_counts  = defaultdict(int)

一、关于defaultdict

  在Python里面有一个模块collections,解释是数据类型容器模块。这里面有一个collections.defaultdict()经常被用到。

  示例:  

from collections import defaultdict
a = defaultdict(int)
a[1] = 1
a["b"]
print "a['a']==", a["a"]
print a
----------
a['a']== 0
defaultdict(<type 'int'>, {'a': 0, 1: 1, 'b': 0})

  结果易见,default(int)则创建一个类似dictionary对象,里面任何的values都是int的实例,而且就算是一个不存在的key, d[key] 也有一个默认值,这个默认值是int()的默认值0.

  这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的类实例,而且具有默认值。

二、其他类型

--------------------------2016-7-30 08:15:12--

  source:【1】 Python collections.defaultdict() 与 dict的使用和区别