代码之家  ›  专栏  ›  技术社区  ›  DeltaIV

如何安全地添加到字典中

  •  0
  • DeltaIV  · 技术社区  · 5 年前

    我知道有一个类似的问题:

    How to append to a dictionary of dictionaries

    但这些答案对我不起作用。我的问题如下。如果我需要添加新的 key: value 配对到Python字典,然后

    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
    

    这行得通,但我觉得这太过分了。有更紧凑/Python风格的吗 但仍然可读 解决方案?

    0 回复  |  直到 5 年前