@Mikkkch

Что быстрее и правильнее, генерация нового словаря или переопределение ключей старого?

Искал во многих местах ответ на этот вопрос, но никак не нашел.
Вся суть вопроса в названии.

Что быстрее, такая конструкция:
def get_new_value(value):
    ...
{key: get_new_value(value) for key, value in paths_dictionary.items()}

Или такая:
def get_new_value(value):
    ...
for key,  value in paths_dictionary.items():
    paths_dictionary[key] = get_new_value(value)

И еще момент, что в названии вопроса неспроста присутствует слово "правильнее"
Так как на вход приходит словарь с путями, а на выходе словарь с импортированными объектами.
Соответственно переопределение ключей paths_dictionary и генерация нового словаря из ключей и значений старого допустимы. Стоит выбор с упором на скорость.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
"Правильнее" тут нет - оба варианта допустимы. Главное чтобы по сигнатуре функции было сразу понятно, что она делает - создаёт новый или меняет старый.
В теории, вариант с изменением существующего должен меньше памяти есть.
Но у этого подхода есть минус - его сложно распараллеливать.
Так что выбирайте то, что удобнее и проще
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы