合并dict对象

2021年2月25日 / 20次阅读 / Last Modified 2021年2月25日
Dict

Python在3.9提供了两个新的合并dict对象的操作符,| 和 |=,本文总结一下。

>>> a = {'a':1, 'b':2}
>>> b = {'b':3, 'c':4}
>>> {**a, **b}
{'a': 1, 'b': 3, 'c': 4}
>>> a | b
{'a': 1, 'b': 3, 'c': 4}
>>>
>>> {**b, **a}
{'b': 2, 'c': 4, 'a': 1}
>>> b | a
{'b': 2, 'c': 4, 'a': 1}

注意顺序,从左到右!

跟update方法对应的是 |= 操作符:

>>> a
{'a': 1, 'b': 2}
>>> b
{'b': 3, 'c': 4}
>>> a.update(b)
>>> a
{'a': 1, 'b': 3, 'c': 4}
>>>
>>> a = {'a':1, 'b':2}
>>> b
{'b': 3, 'c': 4}
>>> a |= b
>>> a
{'a': 1, 'b': 3, 'c': 4}

dict对象的key不可重复,这一点与set对象一样(set对象的集合操作),从这个角度理解 | 和 |= 操作符。个人认为这两个操作符的出现是很赞的,降低了理解代码的难度(可读性),完善了操作符应用范围。

-- EOF --

本文链接:https://www.pynote.net/archives/3557

留言区

《合并dict对象》有1条留言

您的电子邮箱地址不会被公开。 必填项已用*标注

  • 麦新杰

    这两个操作,对OrderedDict对象也有效果! [回复]


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top