做个笔记……
defaultdict
当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值
# 根据参数的不同,返回的默认值不同
dict1 = defaultdict(int) # 0
dict2 = defaultdict(set) # set()
dict3 = defaultdict(str) # ''
dict4 = defaultdict(list) # []
实际使用时的改进如下,还是非常好用的,之前竟然不知道……
# 计数问题
def get_counts(sequence):
counts = {}
for x in sequence:
if x in counts:
counts[x] += 1
else:
count[x] = 1
return counts
# 使用defaultdict
def get_counts(sequence):
counts = defaultdict(int)
for x in sequence:
counts[x] += 1
return counts