使用解包方法更新字典的优点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用解包方法更新字典的优点相关的知识,希望对你有一定的参考价值。

如果使用kwargs更新字典密钥有一个真正的优势,我感到很困惑。请按照以下示例:

def example():
    return 'a':1,'b':2,'c':3

使用kwargs更新字典:

   **example(),'b':9
>> 'a': 1, 'b': 9, 'c': 3

我也可以使用类似的东西:

example['b'] = 9

有人可以告诉我使用unpack方法更新dict或者给我一些关于它的阅读资料有什么好处?特别是当涉及嵌套字典时,因为这是我看到被使用的地方。

答案

**example(),'b':9通过解压example()返回的字典然后用密钥b更新新字典来创建一个新的字典,而example['b'] = 9就地更新字典b的关键example并且不创建新的字典。

另一答案

我认为你将**解包方法与**kwargs函数参数混淆。 **只需将example()返回的字典解包为键/值对,然后使用您传递给字典构造函数的附加键/值对'b':9创建一个新字典。

如果你只是一次添加一个键/值对,那么这个方法不会像example['b'] = 9那样分配它,而是如果你想将两个字典合并成一个字典那么它会更多有效地执行此操作new_dict = **old_dict, **old_dict1然后循环并将每个键/值对从两个词典添加到新词典。此方法仅适用于Python 3.5及更高版本,早期版本使用old_dict.update(old_dict2)。这里有更多关于蟒蛇解包方法和kwargs的reading

以上是关于使用解包方法更新字典的优点的主要内容,如果未能解决你的问题,请参考以下文章

python3嵌套字典解包格式字符串

Django模板语言解包字典

多处理进程对象中的字典解包

为啥字典可以解包为元组?

临时解包字典

python中的解包