在python中初始化或附加字典列表

时间:2015-08-09 17:38:11

标签: python list dictionary initialization

以下代码片段能否以某种方式简化为一个语句?

Sheet

我可以编写一个接受promptUserForNameif aKey not in aDict: aDict[aKey] = [someValue] else: aDict[aKey].append(someValue) aDict的函数,但是有没有办法只使用本机python的东西呢?

1 个答案:

答案 0 :(得分:5)

collections.defaultdict的目的只是为了这个目的:

In [1]: import collections

In [2]: d = collections.defaultdict(list)

In [3]: d['key'].append(1)

In [4]: d
Out[4]: defaultdict(<type 'list'>, {'key': [1]})

In [5]: d['key'].append(2)

In [6]: d
Out[6]: defaultdict(<type 'list'>, {'key': [1, 2]})

在这里,当您访问不存在的密钥时,它会自动使用空列表初始化。