collections是Python内建的一个工具集,提供诸如Counter,defaultdict,ChainMap,namedtuple,deque,OrderedDict方法。
普通字典里如果没有key值是取不到对应value的,但是defaultdict方法定义的是个赋值默认值的字典,会判断字典里是否存在某个key:如果字典里面有某个key,取出对应value;如果没有,就进行赋值操作,给一个默认的指定value,即创建一个新键值对。
等价写法:
defaultdict(int) <——>defaultdict(lambda:0)
defaultdict(list) <——>defaultdict(lambda:[])
defaultdict(tuple) <——> defaultdict(lambda:())
常用写法如下:
defaultdict(lambda:0)
defaultdict(lambda:'hello')
deaultdict(lambda:(0,0))
示例:
d = defaultdict(tuple)
print(d)
d[0]
d[1]
print(d)
执行结果:
defaultdict(<class 'tuple'>, {})
defaultdict(<class 'tuple'>, {0: (), 1: ()})
使用场景举例:
[('ip','192.168.1.1'),('sub