MXStat
MXStat
Введите текст для поиска
Расширенный поиск каналов
  • Вход на сайт
  • Каталог
    Каталог каналов Региональные подборки Поиск каналов
    Добавить канал
  • Рейтинги
    Рейтинг каналов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Max
Python Разработка | Web Backend, Парсинг & Telegram Bots. Пайтон программирование с нуля. Django, FastAPI и SQL. Уроки для начинающих и IT карьера. Coding.

14 Sep, 11:39

Открыть в Max Поделиться

⚡ Как ускорить код на 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

973 18
Каталог
Каталог каналов Подборки каналов Поиск каналов Добавить канал
Рейтинги
Рейтинг каналов Max
Контакты
Написать в Max Написать в Telegram Написать на почту
Всякая всячина
Пользовательское соглашение Политика конфиденциальности
Наши каналы
MXStat в Telegram MXStat в Max
Наши боты
MXAuthBot MXAnalyticsBot
Made by TGStat