Ежедневное программирование-контент (37 серии деталей)
Мы знаем Самый быстрый способ объединить списки Анкет Сегодня мы постараемся найти самый быстрый способ объединить словаря
Мы рассмотрим следующие способы
- Использование для петли
- Использование метода Update ()
- Использование функции цепной карты
- Использование оператора распаковки
- Использование оператора трубы (|)
- Использование оператора (| =)
Как мы собираемся измерить производительность?
У нас есть пара словарей с 1000 парами ключевых значений в каждом словаре. Мы будем обновлять функцию Func выполнить различные методы комбинации. Функция будет называться 100 раз, и мы напечатаем среднее время выполнения.
Использование для петли
Мы просто перечитываем второй словарь и добавляем его элементы в первый словарь. Ниже приведен выход
On average, it took 6.765522999558016e-05 seconds
Использование метода обновления
Подобно подходу для цикла, первый словарь обновляется. Элементы второго словаря добавляются в первый словарь. Если присутствует общий ключ, значение для ключа в первом словаре будет перезаписано значением второго словаря.
On average, it took 2.554959000008239e-05 seconds
Использование функции цепной карты
В отличие от двух предыдущих подходов, создается новый словарь, и исходные словаря не обновляются. Ниже приведен выход
On average, it took 9.942399992723949e-07 seconds
Использование оператора распаковки
В этом подходе мы создаем новый словарь. Оригинальные словаря не обновляются. Ниже приведен выход
On average, it took 7.01560299967241e-05 seconds
Используя | оператор
В Python 3.9 оператор трубы был введен для объединения словарей. Ниже приведен выход
On average, it took 5.5255000000000026e-05 seconds
С использованием
Вместе с | Оператор был введен в Python 3.9. Ниже приведен выход
On average, it took 3.0259589999999983e-05 seconds
Сравнение
Метод цепочки () кажется самым быстрым
Ежедневное программирование-контент (37 серии деталей)
Оригинал: “https://dev.to/rahulbanerjee99/day27-fastest-way-to-combine-dictionaries-ian”