# 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)