L'autre jour, PEP 584 (Add Union Operators To dict) est devenu Final Commit / python / peps / pull / 1440) Je l'ai vu. Donc, cette fois, je lirai PEP 584.
d1.update (d2)
réécrit d1, il y a des occasions où une variable temporaire est préparée, et comme ce n'est pas une expression, elle ne peut pas être utilisée comme paramètre.{** d1, ** d2}
n'est pas boncollections.ChainMap
est mineur et a le problème de réécrire d1dict (d1, ** d2)
entraînera une erreur si la clé n'est pas une chaîne|
d'être utilisé pour combiner des dictionnairesCombinez les deux dictionnaires avec d1 | d2
. Si vous avez la même clé, elle écrasera le contenu du dictionnaire à droite, elle n'est donc pas interchangeable (l'ordre des clés dans le nouveau dictionnaire changera également).
>>> d = {'spam': 1, 'eggs': 2, 'cheese': 3}
>>> e = {'cheese': 'cheddar', 'aardvark': 'Ethel'}
>>> d | e
{'spam': 1, 'eggs': 2, 'cheese': 'cheddar', 'aardvark': 'Ethel'}
>>> e | d
{'aardvark': 'Ethel', 'spam': 1, 'eggs': 2, 'cheese': 3}
Il prend également en charge l'opérateur «| =».
>>> d |= e
>>> d
{'spam': 1, 'eggs': 2, 'cheese': 'cheddar', 'aardvark': 'Ethel'}
d = dict (d1); d.update (d2)
a été écrit plusieurs fois, donc je suis contentRecommended Posts