Найти в Дзене
Машинное обучение

Python map и filter, а также lambda-функций

Оглавление

Эти две функции - очень мощные инструменты в Python, которые входят в тему функционального программирования. Зачастую вместе с ними используют анонимные lambda-функции.

Map

На вход принимает два обязательных аргмумента: функция-обработчик и итерируемый объект, чаще всего это список. Суть map'а заключается в том, что он применяет переданную функцию к каждому элементу последовательности. А возвращает так называемый map-объект, который в дальнейшем можно конвертировать в обычный список и не только.

Обратите внимание, мы не пишем скобки у функции add_five при вызове map, это означает то, что мы передаем объект функции, а не вызываем её.

Тоже самое мы могли записать через анонимую функцию прямо в map.

-2

Если вы еще не знакомы с lambda-функциями, то можете посмотреть краткую информацию про них в конце статьи.

Однако в данном примере нагляднее использовать генератор списка.

-3

Хоть map и мощная функция, но лучше исходить от конкретных случаев.

А вот вам действительно полезный пример из практики. Мы можем считать несколько чисел с консоли, которые вводят через пробел, разделив всё это функцией split().

-4

Filter

Имеет схожий синтаксис и принимает также два аргумента: функция-фильтр и итерируемый объект. Filter берет каждый элемент из последовательности и отправляет в функцию, которую мы передали в аргументах. Если эта функция возвращает True, то значение отправлятся в новый filter-объект, а если False, то ничего никуда не отправляется.

-5

тоже самое с анонимной функцией;

-6

И, конечно, генератор списка.

-7

Анонимные функции

lambda a: a + 5

lambda - объявление анонимной функции, можно косвенно сравнить с def.

a - принимаемый аргумент.

a + 5 - то, что функция возвращает.

То есть, по сути после двоеточия сам код, результат которого возвращается.

В общем, штуки то годные, но найти им применение бывает сложно, когда есть множество других вариантов.

Python RU

Что-то пошло не так, и нам не удалось загрузить комментарии. Попробуйте ещё раз
Рекомендуем почитать
Как я обрел цифровую свободу с помощью самостоятельного хостинга — и почему тебе стоит сделать это прямо сейчас
Знаешь, что такое самостоятельный хостинг? Если нет, то это значит, что ты берёшь онлайн-сервис и размещаешь его на своих собственных компьютерах. Эта практика пока малоизвестна, но я хочу, чтобы ты познакомился с ней прямо сейчас. Самостоятельный хостинг — это то, что стоит понять каждому. В современном цифровом мире это один из немногих способов вернуть контроль над своими личными данными. Вот почему уже сегодня стоит задуматься об этом. Раньше запуск домашних серверов требовал серьёзных знаний и кучи оборудования...
«Мне надоело, что обычные продавцы выдают себя за разработчиков и позорят индустрию. Они делают мир хуже»
Когда Дудь выпустил ролик про долину, я очень сильно расстроился. Я ещё не знал, про что он конкретно, но мозг моментально нарисовал: манерные успешные успехи говорят про преодолевание, дух предпринимательства, поднятые миллионы баксов, и как сильно их говноприложенька влияет на мир. Тогда я подумал — надо посмотреть, осудить и бахнуть статью. Про то, что Дудь засранец, а в настоящей разработке все по-другому. Прошло уже месяца два, но я так и не смог заставить себя это посмотреть. Мои новостные ленты были завалены обсуждениями, восхищением и критикой выпуска...
Рассматриваю реакции поклонников Linux на неудобные статьи в сети. Часть 1
Дистрибутивы Linux практически мертвы в настольном сегменте, и такая ситуация сохраняется на протяжении десятилетий. Почему? На этот вопрос невозможно ответить парой предложений — тому есть масса причин. И одна из них — сами линуксоиды. Вот я могу сказать что «Windows — хлам». Даже прикреплю обоснования данным словам. А что дальше? Да ничего, большинству людей будет всё равно. Ведь какой бы плохой Windows ни была — она есть, и удовлетворяет потребности большинства. Но что если я скажу «Linux — хлам»?...
Следующая статья
Документы, вакансии и контакты