概要
Python3.9からdictがマージできるようになったようす。
|
でできるようす。
使ったPython
Python 3.9.0b5 (default, Aug 6 2020, 10:04:28)
[Clang 12.0.0 (clang-1200.0.26.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
試してみます
基本的な使い方
>>> a = {'a1': 1}
>>> b = {'b1': 1}
>>> a | b
{'a1': 1, 'b1': 1}
マージと代入
>>> a = {'a1': 1}
>>> b = {'b1': 1}
>>> a |= b
>>> a
{'a1': 1, 'b1': 1}
同じキーがあったとき
>>> a1 = {'a': 1, 'b': 1}
>>> a2 = {'a': 2, 'b': 2, 'c': 2}
>>> a1 | a2
{'a': 2, 'b': 2, 'c': 2}
>>> a2 | a1
{'a': 1, 'b': 1, 'c': 2}
ちょっと込み入ったdict
>>> d1 = {'a': 1, 'b': {'c': 2}}
>>> d2 = {'z': 999}
>>> d1 | d2
{'a': 1, 'b': {'c': 2}, 'z': 999}
>>> d1 = {'a': 1, 'b': {'c': 2}}
>>> d2 = {'z': 999, 'b': {'c': 888}}
>>> d1 | d2
{'a': 1, 'b': {'c': 888}, 'z': 999}
まとめ
すこぶる簡単にしか試していませんが便利っぽいです