Часто в литературе, сети Интернет и в коде реальных проектов можно встретить такое использование генераторных выражений:
Такой код хоть и правильный с точки зрения синтаксиса, тем не менее не является оптимальным. В большинстве случаев правильнее писать так:
Разница в том, что в первом случае в функцию
Вывод: создавайте коллекции (кортежи, списки и т.п.) на основе генераторов только там, где это действительно нужно.
#python #оптимизация
total = sum([x for x in sequence])
Такой код хоть и правильный с точки зрения синтаксиса, тем не менее не является оптимальным. В большинстве случаев правильнее писать так:
total = sum(x for x in sequence)
Разница в том, что в первом случае в функцию
sum передается список, созданный на основе генератора, а во втором — генератор. Для создания списка нужно выполнить дополнительные операции, а также выделить дополнительную память. При этом результат работы всего кода будет тот же самый.Вывод: создавайте коллекции (кортежи, списки и т.п.) на основе генераторов только там, где это действительно нужно.
#python #оптимизация
