概述
@H_419_1@初识defaultdict
之前在使用字典的时候,用的比较随意,只是简单的使用dict.
然而这样在使用不存在的key的时候发生KeyError这样的一个报错,这时候就该defaultdict登场了.
@H_419_1@如何使用defaultdict
可以这样
from collections import defaultdict d1 = defaultdict(int)
或者这样
import collections d1 = collections.defaultdict(int)
@H_419_1@defaultdict与dict实例化字典类型的区别
使用defaultdict任何未定义的key都会默认返回一个根据method_factory参数不同的默认值,而相同情况下dict()会返回KeyError.
比较下面代码:
d1 = dict() d2 = defaultdict(list) print(d1['a']) print(d2['a'])
@H_419_1@defaultdict的构造
python官方文档中对defaultdict的定义如下:
class collections.defaultdict([default_factory[,...]])
python官方文档中对defaultdict的解释如下:
defaultdic dict subclass that calls a factory function to supply missing values
default_factory 接收一个工厂函数作为参数,例如int str list set等.
defaultdict在dict的基础上添加了一个missing(key)方法,在调用一个不存的key的时候,defaultdict会调用__missing__,返回一个根据default_factory参数的默认值,所以不会返回Keyerror.
@H_419_1@Example
Example 1
s = 'mississippi' d = defaultdict(int) for k in s: d[k] += 1 print(d)
Example 2
s = [('red',1),('blue',2),('red',3),4),4)] d = defaultdict(set) for k,v in s: d[k].add(v) print(d)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结
以上是编程之家为你收集整理的python中defaultdict的用法详解全部内容,希望文章能够帮你解决python中defaultdict的用法详解所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧