TGViewer
Библиотека Python разработчика | Книги по питону Библиотека Python разработчика | Книги по питону @bookpython · 18.1K subscribers
Post #4154 743
⚡ Как ускорить код на 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(), но для сложных операций он остаётся полезным.


Такие функции помогают писать код, который не только быстрее работает, но и легче читается.

📲 Мы в MAX

👉@BookPython
  • 👍 1
  • 👎 1
  • 🔥 1
More from @bookpython
  1. Sep 21, 202610 полезных библиотек для Python-разработчика Сегодня я подготовил для вас подборку из 10…
  2. Sep 16, 2026Если у вас есть ресурсоемкая задача для процессора и вы хотите использовать все доступные…
  3. Sep 15, 2026Protocol vs ABC: Утиная типизация на стероидах (Static Duck Typing) В классическом ООП (Ja…
  4. Sep 10, 2026Ловушка замыканий: Почему ваши лямбды в цикле сломаны (Late Binding) Вы пишете код, которы…
  5. Sep 9, 2026Профилируем Python в продакшене: почему cProfile не подходит, и чем хорош py-spy Когда на…
  6. Sep 8, 2026📌 Декораторы в Python: как они работают и зачем нужны? Сегодня я покажу вам, как работают…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →