在 Python 中向嵌套字典添加新键值的有效方法?

时间:2021-04-30 17:33:21

标签: python dictionary

我有一个非常大的嵌套字典,下面我展示了它的一个示例。

tmp_dict = {1: {'A': 1, 'B': 2},
            2: {'A': 0, 'B': 0}}

问题是有什么更好/有效的方法可以将新的键值对添加到我现有的嵌套字典中。我目前正在遍历键来这样做。下面是一个例子:

>>> for k in tmp_dict.keys():
        tmp_dict[k].update({'C':1})

1 个答案:

答案 0 :(得分:1)

一个简单的方法是这样的:

for key in tmp_dict:
    tmp_dict[key]['C']=1

或者,你可以使用字典理解,正如 sushanth 建议的那样

tmp_dict = {k: {**v, 'C': 1} for k, v in timp_dict.items()}

您可以阅读有关星号的更多信息(以及它为什么起作用)here

就复杂度而言,它们都是O(N)时间复杂度(我认为dict理解可能是O(N^2))。因此,无论如何,您的解决方案应该具有相对较快的运行时间。