defaultdict:一个key对应多个value的情况处理:
以前某些代码是这样写的:
d = {}
for key, value in pairs:
if key not in d:
d[key] = []
d[key].append(value)
发现collections里有个defaultdict
代码可以这样写了,简洁好多:
from collections import defaultdict
d = defaultdict(list)
for key, value in pairs:
d[key].append(value)
OrderedDict:有序的字典
from collections import OrderedDict
d = OrderedDict()
d['foo'] = 1
d['bar'] = 2
d['spam'] = 3
d['grok'] = 4
# Outputs "foo 1", "bar 2", "spam 3", "grok 4"
for key in d:
print(key, d[key])
如果后续需要转成其他格式,比如json格式的时候会比较有用,但是可以想象,占用的内存比普通的字典要大很多,所以慎重使用