BOOKPYTHON Telegram 3553
Как ускорить код на 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
👍12🤔2



tgoop.com/BookPython/3553
Create:
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 разработчика | Книги по питону


Share with your friend now:
tgoop.com/BookPython/3553

View MORE
Open in Telegram


Telegram News

Date: |

In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. How to create a business channel on Telegram? (Tutorial) Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa.
from us


Telegram Библиотека Python разработчика | Книги по питону
FROM American