我想存储数据[年][月] = 日
年份和月份都可以是字典的键。
像 data[year][month].append(day) 这样的操作是可能的。
您可以使用嵌套字典:
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]})})
你可以使用 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']}}