在Python中将字典存储为另一个字典上的值

在Python中将字典存储为另一个字典上的值,python,dictionary,nested,Python,Dictionary,Nested,我正在尝试创建一个字典,它接受一个键并返回另一个字典,该字典接受另一个键并返回一个值,但我在实现这一点上遇到了困难 我试过这样的方法: FirstDict[key1]=SecondDict SecondDict[key2]=Final Value 我希望能够像SecondDict[key1][key2]那样调用它,但我无法这样做。您可以使用集合创建多级嵌套字典。defaultdict,如下所示 from collections import defaultdict def multi_leve

我正在尝试创建一个字典,它接受一个键并返回另一个字典,该字典接受另一个键并返回一个值,但我在实现这一点上遇到了困难

我试过这样的方法:

FirstDict[key1]=SecondDict
SecondDict[key2]=Final Value

我希望能够像
SecondDict[key1][key2]
那样调用它,但我无法这样做。

您可以使用
集合创建多级嵌套字典。defaultdict
,如下所示

from collections import defaultdict
def multi_level_dict():
    return defaultdict(multi_level_dict)
my_dict = multi_level_dict()
my_dict[1][2][3] = "cabbage"
my_dict[1][4][5] = "salad"
from pprint import pprint
pprint(my_dict)
# {1: {2: {3: 'cabbage'},
#      4: {5: 'salad'}}}
你可以这样使用它

from collections import defaultdict
def multi_level_dict():
    return defaultdict(multi_level_dict)
my_dict = multi_level_dict()
my_dict[1][2][3] = "cabbage"
my_dict[1][4][5] = "salad"
from pprint import pprint
pprint(my_dict)
# {1: {2: {3: 'cabbage'},
#      4: {5: 'salad'}}}

我测试过了,它有效

a['1']={'2':{'3':3}然后调用a['1']['2']['3']