70 subscribers
14 links
Советы от разработчика по языку программирования Python и его библиотекам.
Download Telegram
Channel created
Channel name was changed to «Python Tips»
Channel photo updated
Часто в литературе, сети Интернет и в коде реальных проектов можно встретить такое использование генераторных выражений:

total = sum([x for x in sequence])


Такой код хоть и правильный с точки зрения синтаксиса, тем не менее не является оптимальным. В большинстве случаев правильнее писать так:

total = sum(x for x in sequence)


Разница в том, что в первом случае в функцию sum передается список, созданный на основе генератора, а во втором — генератор. Для создания списка нужно выполнить дополнительные операции, а также выделить дополнительную память. При этом результат работы всего кода будет тот же самый.

Вывод: создавайте коллекции (кортежи, списки и т.п.) на основе генераторов только там, где это действительно нужно.

#python #оптимизация