defaultdict列表的元组

时间:2014-02-17 11:10:58

标签: python defaultdict

我喜欢defaultdict,但我想让它自动生成2元组的列表,我不确定它是否可行。所以我想要的是:

foo = defaultdict(???)
foo['key1'][0].append('value')
foo['key1'][1].append('other value')

可以使用defaultdict吗?

4 个答案:

答案 0 :(得分:5)

不确定。你需要给defaultdict一个函数,它返回你想要的默认函数;创建这种一次性函数的最简单方法是lambda:

foo = defaultdict(lambda: ([], []))
foo['key1'][0].append('value')

答案 1 :(得分:1)

from collections import defaultdict
foo = defaultdict(lambda: defaultdict(list))
foo['key1'][0].append('value')
foo['key1'][1].append('other value')
print foo

<强>输出

defaultdict(<function <lambda> at 0x7f7b65b4f848>, {'key1': defaultdict(<type 'list'>, {0: ['value'], 1: ['other value']})})

答案 2 :(得分:1)

foo = defaultdict(lambda: ([], []))

答案 3 :(得分:1)

defaultdict list

2-tuple?在python中写一样的东西:

dd = defaultdict(lambda: ([], []))