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

在Python中向嵌套字典添加新键值的有效方法?,python,dictionary,Python,Dictionary,我有一个非常大的嵌套字典,下面我展示了它的一个示例 tmp_dict={1:{'A':1,'B':2}, 2:{'A':0,'B':0} 问题是,有什么更好/更有效的方法可以向现有的嵌套dict添加新的pair键值。我目前正在循环使用这些键值。以下是一个例子: tmp_dict.keys()中的k的>>: tmp_dict[k].更新({'C':1}) 一个简单的方法如下: tmp_dict中的键的: tmp_dict[键]['C']=1 或者,正如苏珊特所建议的,你可以使用字典理解 tmp

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

tmp_dict={1:{'A':1,'B':2},
2:{'A':0,'B':0}
问题是,有什么更好/更有效的方法可以向现有的嵌套dict添加新的pair键值。我目前正在循环使用这些键值。以下是一个例子:

tmp_dict.keys()中的k的
>>:
tmp_dict[k].更新({'C':1})

一个简单的方法如下:

tmp_dict中的键的
:
tmp_dict[键]['C']=1
或者,正如苏珊特所建议的,你可以使用字典理解

tmp_dict={k:{**v,'C':1}表示timp_dict.items()中的k,v
您可以阅读更多关于星号的信息(以及为什么这样做)


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

尝试使用dict comprehension,
{k:{**v,'C':1}在tmp_dict.items()中为k,v使用dict comprehension。
第一部分是最快的方法。我相信一本新词典的编写速度超过了理解的速度。