如何在python中快速升级dict中的级别属性?

如何在python中快速升级dict中的级别属性?,python,Python,假设我有一本python词典: {'a': {'asuba':'1','asubb':'2'},'b':{'bsuba':'1','bsubb':'2'}} 最简单/最快速的升级方式是什么,说出关键点a,以便生成的字典是: {'asuba':'1','asubb':'2','b':{'bsuba':'1','bsubb':'2'}} 比先更新后删除更好: 如果k的值包含一个等于k本身的键,那么这就避免了问题。如果更新,则del,该值的键将覆盖父项的键,然后在del发生时被错误删除。通过首先弹

假设我有一本python词典:

{'a': {'asuba':'1','asubb':'2'},'b':{'bsuba':'1','bsubb':'2'}}
最简单/最快速的升级方式是什么,说出关键点a,以便生成的字典是:

{'asuba':'1','asubb':'2','b':{'bsuba':'1','bsubb':'2'}}
比先更新后删除更好:

如果k的值包含一个等于k本身的键,那么这就避免了问题。如果更新,则del,该值的键将覆盖父项的键,然后在del发生时被错误删除。通过首先弹出,在我们为k的值添加键/值对之前,k的条目将被删除,因此不会发生冲突。

比先更新后删除更好:


如果k的值包含一个等于k本身的键,那么这就避免了问题。如果更新,则del,该值的键将覆盖父项的键,然后在del发生时被错误删除。通过首先弹出,在我们为k的值添加键/值对之前,k的条目将被删除,因此不会发生冲突。

如果存在键冲突,您该怎么办?假设没有键冲突。或者使用最后拾取的内容进行覆盖?如果存在密钥冲突,您该怎么办?假设没有密钥冲突。或者用最后得到的东西覆盖?这是一个很好的解决方案。不知道您可以弹出。@mwm314:Yar、dict.pop和dict.setdefault是更多人应该知道的两种方法;它们在技术上对执行原子插入和删除都非常有用,如果密钥不是内置类型,则setdefault对线程不安全,但对逻辑原子操作仍然有用。这是一个非常好的解决方案。不知道您可以弹出。@mwm314:Yar、dict.pop和dict.setdefault是更多人应该知道的两种方法;它们在技术上对执行原子插入和删除都非常有用,如果密钥不是内置类型,则setdefault对线程不安全,但对于逻辑原子操作仍然有用。
d.update(d.pop(k))