Python> = 3.8 Именованное присваивание позволяет что-то вроде следующего, что, я думаю, вы могли бы интерпретировать как один вызов:
>>> md = {**(md := {'a': 2, 'b': 3}), **{'c': md['a'] + md['b']}}
>>> md
{'a': 2, 'b': 3, 'c': 5}
Но это действительно просто причудливый способ втиснуть двухслойный текст в одну строку и сделать его менее читаемым и менее эффективным по памяти (из-за промежуточных диктовок). Также обратите внимание, что md
, используемый в правой части =
, действительно может быть любым именем.
На самом деле вы можете быть немного более эффективным и избавиться от одного поддельного вспомогательного диктата:
(md := {'a': 2, 'b': 3}).update({'c': md['a'] + md['b']})