我知道还有一个类似的问题:
How to append to a dictionary of dictionaries
但是答案对我不起作用。我的问题如下。如果我需要在Python字典中添加新的key: value
对,那么
my_dict[key] = value
始终安全(只要key
不是可变类型),无论my_dict
是否已经初始化。
但是,如果我希望my_dict
成为字典词典,那么
my_dict[keyA][keyB] = value
不起作用,除非我已经将my_dict[keyA]
初始化为空字典。所以我现在正在做的是:
class dict_of_dict():
def __init__(self):
self.ddict = {}
def update(self, keyA, keyB, value):
if not(keyA in self.ddict.keys()):
self.ddict[keyA] = {}
self.ddict[keyA][keyB] = value
a = dict_of_dict()
a.update(0, 3, "foobar")
a.ddict
这行得通,但我觉得这太过分了。是否有更紧凑/ Pythonic的但仍可读的解决方案?