最好的方法是使用collections.defaultdict
一个list
默认值:
from collections import defaultdict
dct = defaultdict(list)
然后只需使用:
dct[key].append(some_value)
如果键尚未在映射中,则词典将为您创建一个新列表。collections.defaultdict
是的子类,dict
否则表现得像普通dict
对象。
使用standard时dict
,请为您dict.setdefault()
正确设置dct[key]
为默认值,这样该版本应该可以正常工作。您可以使用以下方式链接该调用.append()
:
>>> dct = {}
>>> dct.setdefault('foo', []).append('bar') # returns None!
>>> dct
{'foo': ['bar']}
然而,通过使用dct[key] = dct.get(...).append()
您 更换 该值dct[key]
与输出.append()
,这是None
。