tg-me.com/BookPython/3553
Last Update:
⚡ Как ускорить код на Python? Используем map
, filter
, reduce
⚡
Привет, друзья! Сегодня расскажу о том, как можно ускорить выполнение кода, заменяя обычные циклы на встроенные функции map()
, filter()
и reduce()
. Эти инструменты позволяют писать более компактный, читаемый и быстрый код.
✅ map()
Функция map()
применяется к каждому элементу последовательности и возвращает новый итератор.
❌ Обычный способ:
numbers = [1, 2, 3, 4, 5]
squared = []
for num in numbers:
squared.append(num ** 2)
✅ Быстрее с
map()
:
numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x ** 2, numbers))
За счёт того, что
map()
использует C-оптимизированную логику, код выполняется быстрее.✅
filter()
Фильтрует элементы последовательности по заданному условию.
❌ Медленный вариант:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = []
for num in numbers:
if num % 2 == 0:
evens.append(num)
✅ Быстрее с
filter()
:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evens = list(filter(lambda x: x % 2 == 0, numbers))
Такой код читается легче и работает быстрее.
✅
reduce()
Позволяет выполнять кумулятивные операции (например, суммирование, умножение).
❌ Классический способ:
numbers = [1, 2, 3, 4, 5]
product = 1
for num in numbers:
product *= num
✅ Быстрее с
reduce()
:
from functools import reduce
numbers = [1, 2, 3, 4, 5]
product = reduce(lambda x, y: x * y, numbers)
Этот метод полезен, если нужно свести список к одному значению.
💡 Важно:
reduce()
чаще заменяют sum()
или math.prod()
, но для сложных операций он остаётся полезным.Такие функции помогают писать код, который не только быстрее работает, но и легче читается.
👉 @BookPython
BY Библиотека Python разработчика | Книги по питону
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/BookPython/3553