Подписка на блог

Customize in /user/extras/follow-sheet.tmpl.php.

Sample text.

Twitter, Facebook, VK, Telegram, LinkedIn, Odnoklassniki, Pinterest, YouTube, TikTok, РСС JSON Feed

Sample text.

делю на ноль, обогащаю уран

Функции высшего порядка в Python

Python предоставляет мощные инструменты для обработки данных, известные как функции высшего порядка. Основными представителями этой категории являются `map`, `filter` и `reduce`. Данные функции позволяют эффективно работать с коллекциями данных, упрощая код и повышая его читаемость.

Функции высшего порядка

Функции высшего порядка — это функции, которые могут принимать другие функции в качестве аргументов или возвращать их. В Python `map`, `filter` и `reduce` являются наиболее часто используемыми функциями этого типа.

1. Функция reduce

Функция `reduce` применяется для свертки последовательности в единое значение. Она импортируется из модуля `functools`.

from functools import reduce

numbers = [2, 3, 8]
max_number = reduce(lambda x, y: x if x > y else y, numbers)
print(max_number)  # Выведет: 8

В данном примере `reduce` используется для нахождения максимального числа в списке.

2. Функция filter

Функция `filter` применяется для отбора элементов последовательности, удовлетворяющих определенному условию.

numbers = [2, 3, 8, 15, 34, 42]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # Выведет: [2, 8, 34, 42]

Здесь `filter` используется для выбора четных чисел из списка.

3. Функция map

Функция `map` применяет заданную функцию к каждому элементу последовательности.

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers))
print(squared)  # Выведет: [1, 4, 9, 16, 25]

В этом примере `map` используется для возведения каждого числа в квадрат.

Рекомендации по использованию

При использовании функций высшего порядка рекомендуется избегать побочных эффектов в передаваемых функциях. Это означает, что функции не должны изменять глобальные переменные или производить вывод. Такой подход обеспечивает чистоту и предсказуемость кода.

Подписаться на блог
Отправить
Поделиться