我想存储数据[年] [月] =天
年和月都可以成为词典的关键。
数据[年] [月] .append(天)之类的操作是可能的。
答案 0 :(得分:2)
您可以使用嵌套词典:
data[year] = {}
data[year][month] = [day]
为了使这更容易,您可以使用collections.defaultdict
:
from collections import defaultdict
data = defaultdict(dict)
data[year][month] = [day]
甚至:
def monthdict():
return defaultdict(list)
data = defaultdict(monthdict)
data[year][month].append(day)
后一种结构的演示:
>>> from collections import defaultdict
>>> def monthdict():
... return defaultdict(list)
...
>>> data = defaultdict(monthdict)
>>> data[2013][3].append(23)
>>> data
defaultdict(<function monthdict at 0x10c9d0500>, {2013: defaultdict(<type 'list'>, {3: [23]})})
答案 1 :(得分:1)
你能使用dict-of-dicts-of-lists吗?
data = {'1972' : {
'01': ['a', 'list', 'of', 'things'],
'02': ['another', 'list', 'of', 'things'],
},
'1973' : {
'01': ['yet', 'another', 'list', 'of', 'things'],
},
}
>>> data['1972']['02']
['another', 'list', 'of', 'things']
>>> data['1972']['01'].append(42)
>>> data
{'1972': {'01': ['a', 'list', 'of', 'things', 42],
'02': ['another', 'list', 'of', 'things']},
'1973': {'01': ['yet', 'another', 'list', 'of', 'things']}}