我喜歡defaultdict,但我希望它autovivify列表的2元組,我不知道是否有可能。所以我想要的是:defaultdict列表的元組
foo = defaultdict(???)
foo['key1'][0].append('value')
foo['key1'][1].append('other value')
這是可以用defaultdict嗎?
我喜歡defaultdict,但我希望它autovivify列表的2元組,我不知道是否有可能。所以我想要的是:defaultdict列表的元組
foo = defaultdict(???)
foo['key1'][0].append('value')
foo['key1'][1].append('other value')
這是可以用defaultdict嗎?
不確定。你需要給defaultdict一個返回你想要的默認值的函數;建立這樣一個一次性的功能,最簡單的方法是λ:
foo = defaultdict(lambda: ([], []))
foo['key1'][0].append('value')
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']})})
foo = defaultdict(lambda: ([], []))
一個list
2-tuple
的defaultdict
?在python中寫同樣的東西:
dd = defaultdict(lambda: ([], []))