# Python中的defaultdict
# ‵Python中的
dict`
字典是Python
中的无序集合数据结构,功能类似于map
。字典中存储的是键值对,其键必须是不能修改的唯一值,例如tuple
可以用来做字典中的键而list
不能。
a = dict(b=10, c=100)
在访问字典中的某个键时需要对key
进行检查,否则当key
在字典中不存在时会报错,如下:
# ---------------------------------------------------------------------------
# KeyError Traceback (most recent call last)
# Input In [22], in <cell line: 2>()
# 1 a = dict(b=10, c=100)
# ----> 2 a['d']
# KeyError: 'd'
这里有两个办法防止其报错,一个是使用get
方法,
a.get('d', 1000)
# 1000
当使用get
访问字典中key
对应的值,若key
在字典中不存在,就返回缺省值。
另一种方式是使用defaultdict
# defaultdict
defaultdict
是collections
中的对象,使用方法为:
from collections import defaultdict
def default_value():
return 0
a = defaultdict(default_value)
a['d']
# 0
通过函数给出默认值。
函数部分还可以使用lambda
表达式:
d = defaultdict(lambda: "Not Present")
d["a"] = 1
d["b"] = 2
print(d["a"])
print(d["b"])
print(d["c"])
# 1
# 2
# Not Present
1.https://docs.python.org/3.6/library/collections.html (opens new window)