dictionary - Python list dict 追加 - Pythonで2つの辞書を1つの式に統合する(辞書の結合を取る)にはどうすればよいですか?

Python dict merge / python / merge

私は2つのPython辞書を持っており、これら2つの辞書をマージして返す(つまり、結合をとる)単一の式を記述したいと思います。 update() メソッドは、その結果を返しの代わりに、インプレース辞書を変更する場合、私は、必要なものだろう。

>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 10, 'c': 11}
>>> z = x.update(y)
>>> print(z)
None
>>> x
{'a': 1, 'b': 10, 'c': 11}

Charlie Parker



Answer #1

時間の観点から:

>>> timeit.Timer("dict(x, **y)", "x = dict(zip(range(1000), range(1000)))\ny=dict(zip(range(1000,2000), range(1000,2000)))").timeit(100000)
15.52571702003479
>>> timeit.Timer("temp = x.copy()\ntemp.update(y)", "x = dict(zip(range(1000), range(1000)))\ny=dict(zip(range(1000,2000), range(1000,2000)))").timeit(100000)
15.694622993469238
>>> timeit.Timer("dict(x.items() + y.items())", "x = dict(zip(range(1000), range(1000)))\ny=dict(zip(range(1000,2000), range(1000,2000)))").timeit(100000)
41.484580039978027