В Python, а также в таких языках, как JavaScript и Ruby, функции высшего порядка, такие как Map (), Filter () и Creatment (), используются для обработки и преобразования данных. Они обеспечивают гибкие операции по данным без необходимости явных циклов. Функции высшего порядка работают на других функциях-либо принимая функции в качестве аргументов, либо, в некоторых случаях, возвращая функции в качестве результатов. Результат является ясным, кратким, читаемым и модульным кодом.
Хотя функции более высокого порядка часто связаны с парадигмой функционального программирования, принятие стиля функционального программирования не является необходимым для использования MAP (), Filter () или уменьшения (). Эти функции могут быть включены в любую структуру приложения. map (), filter () и creat () не единственные функции высшего порядка. Любая функция может быть функцией высшего порядка, если она принимает функцию в качестве аргумента или возвращает функцию в результате.
В этом посте мы рассмотрим функции MAP (), Filter () и сокращение (), их основной синтаксис и предоставим несколько простых реализаций.
map ()
Функция Map () используется, когда вам нужно применить конкретную операцию или преобразование к каждому элементу в итерабируемом (например, список или кортеж) и вернуть новый итерабильный (обычно объект карты) с результатами.
Основной синтаксис:
MAP () особенно полезен при выполнении таких задач, как преобразование данных из одной формы в другую, таких как преобразование строк в целые числа или изменение форматов даты.
Выход:
[1, 2, 3, 4]
Map () также отлично, если вам нужна функция, которая работает на одном элементе. Вы можете создать эту функциональность в Map (), применив ее к каждому элементу итерабируемого, устраняя необходимость в явном цикле.
Выход:
[6, 7, 8]
фильтр()
Filter () отфильтровывает элементы в итерационном на основе условия, указанного в функции. Он возвращает объект фильтра, который может быть преобразован в список.
Основной синтаксис:
Filter () полезен для выполнения таких задач, как удаление нежелательных элементов из списка. Пример ниже удаляет ни одного из списка номеров:
Выход:
[1, 2, 3]
Вы также можете отфильтровать список на основе условия, например, извлечение четных чисел:
Выход:
[2, 4, 6]
уменьшать()
Cream (), возможно, является наиболее сложной функцией высшего порядка для мастера. Хотя существуют более простые реализации, более сложные могут стать довольно сложными. Ради этого поста мы сосредоточимся на более простых реализациях.
Основной синтаксис:
Наиболее распространенным примером, который вы увидите, используя READ (), является суммирование списка чисел.
Выход:
[15]
уменьшить () также полезен при поиске максимального значения в списке:
Выход:
[33]
Последние мысли
Функции более высокого порядка, такие как MAP (), Filter () и Cread () предлагают мощные способы обработки и преобразования данных с помощью чистого, краткого и читаемого кода. Эти функции помогают вам абстрагировать общие операции, уменьшить потребность в явных циклах и улучшить модульность вашего кода.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Джессика Вахтел — писатель по маркетингу разработчиков в InfluxData, где она создает контент, который помогает сделать данные о мире временных рядов более понятными и доступными. Джессика имеет опыт работы в разработке программного обеспечения и технической журналистике. Подробнее от Джессики Вахтел