Лямбда-функции в Python - объяснение с примерами |
||
|
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2023-07-06 11:42 Python – один из самых интуитивно понятных языков программирования. Тем не менее, некоторые вещи могут быть сложными для понимания и осмысления. Лямбда-функции – одно из них. Я через это прошёл. Когда я только начинал изучать Python, я пропустил лямбда-функцию, потому что она была мне непонятна. Но со временем я начал её понимать. Так что не волнуйтесь – если вы тоже испытываете трудности, я помогу вам разобраться. В этом уроке вы узнаете, что такое лямбда-функция и когда ее использовать. Также мы рассмотрим несколько распространенных случаев применения лямбда-функции. Итак, давайте приступим. Что такое лямбда-функции? Лямбда-функции похожи на обычные пользовательские функции, только у них нет имени. Их обычно называют анонимными функциями. Они удобны, когда вы хотите создать функцию, содержащую только простые выражения – то есть выражения, которые обычно состоят из одной строки с инструкцией. Они также полезны, когда вы хотите использовать функцию только один раз. Как определить лямбда-функцию? Вы можете определить лямбда-функцию следующим образом: lambda argument(s): expression
Обратите внимание, что анонимная функция не имеет ключевого слова Давайте рассмотрим пример лямбда-функции, чтобы понять, как она работает. Мы сравним ее с обычной пользовательской функцией. Предположим, я хочу написать функцию, которая возвращает в два раза большее число, чем я ей передаю. Мы можем определить пользовательскую функцию следующим образом: def f(x): return x * 2 f(3) >> 6 Теперь о лямбда-функции. Она создаётся вот так: lambda x: x * 3 Как я уже объяснял выше, у лямбда-функции нет ключевого слова Для того, чтобы вызвать лямбда-функцию, используйте подход, известный как немедленный вызов функции. Это выглядит следующим образом: (lambda x : x * 2)(3) >> 6 Причина этого в том, что, поскольку у лямбда-функции нет имени, по которому её можно вызвать (она анонимна), то для вызова нужно указать в скобках весь ее код. Когда следует использовать лямбда-функции? Лямбда-функции следует использовать для создания простых выражений. Например, выражений, которые не включают сложные структуры, такие как условия, циклы и так далее. Если же, например, вы хотите создать функцию с циклом Распространенные случаи использования лямбда-функций Итерируемые объекты Итерируемые объекты – это, по сути, все, что состоит из серии значений, таких как символы или числа. В Python к итерируемым объектам относятся строки, списки, словари, диапазоны, кортежи и так далее. При работе с ними можно использовать лямбда-функции в сочетании с двумя распространенными функциями: filter() Когда вы хотите сосредоточиться на определенных значениях в итерируемом объекте, вы можете использовать функцию filter(function, iterable) Как видите, в функцию Например, у меня есть список Сначала я воспользуюсь лямбда-функцией для создания выражения, которое хочу вывести, вот так: lambda x: x % 2 == 0 Затем я вставлю его в функцию list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] filter(lambda x: x % 2 == 0, list1) >> <filter at 0x1e3f212ad60> # Результатом будет объект filter, и нам нужно преобразовать его в list, поэтому: list(filter(lambda x: x % 2 == 0, list1)) >> [2, 4, 6, 8, 10] map() Используйте функцию map(function, iterable) Например, я хочу возвести все значения в приведенном ниже списке в квадрат. Я могу легко сделать это с помощью лямбда-функции и функции list1 = [2, 3, 4, 5] list(map(lambda x: pow(x, 2), list1)) >> [4, 9, 16, 25] Pandas Series Еще одна область применения лямбда-функций – это обработка данных при создании фрейма в Pandas. Серия (series) – это столбец фрейма данных. Вы можете обращаться ко всем значениями в серии с помощью лямбда-функции. Например, у меня есть датафрейм, и я хочу преобразовать значения в столбце import pandas as pd df = pd.DataFrame( {"name": ["IBRAHIM", "SEGUN", "YUSUF", "DARE", "BOLA", "SOKUNBI"], "score": [50, 32, 45, 45, 23, 45] } )
df["lower_name"] = df["name"].apply(lambda x: x.lower()) Функция
Заключение В этой статье мы разобрали, что собой представляют лямбда-функции в Python и как их обычно применяют. Спасибо за внимание и успешного кодинга! Источник: pythonturbo.ru Комментарии: |
|