dictionary - объединить несколько словарей python - Как объединить два словаря в одно выражение на Python (взять объединение словарей)?

изобразите извилистый спуск улитки по стене по заданной траектории (см. примеры). / python / merge

У меня есть два словаря Python, и я хочу написать одно выражение, которое возвращает эти два словаря, объединенные (т. Е. Принимая объединение). Метод 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