Die beste Version, die ich mir vorstellen kann, ohne eine Kopie zu verwenden, wäre die folgende:
from itertools import chain
x = {'a':1, 'b': 2}
y = {'b':10, 'c': 11}
dict(chain(x.iteritems(), y.iteritems()))
Es ist schneller als dict(x.items() + y.items())
aber nicht so schnell wie n = copy(a); n.update(b)
, zumindest bei CPython. Diese Version funktioniert auch in Python 3, wenn Sie die iteritems()
a items()
was automatisch vom 2to3-Tool erledigt wird.
Mir persönlich gefällt diese Version am besten, weil sie ziemlich gut beschreibt, was ich in einer einzigen funktionalen Syntax will. Das einzige kleine Problem ist, dass es nicht ganz klar ist, dass Werte aus y Vorrang vor Werten aus x haben, aber ich glaube nicht, dass es schwierig ist, das herauszufinden.