map()

Содержание
Введение
Пример
all() + map() + lambda
Свой вариант map()
Похожие статьи

Введение

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

Функция map() возвращает map объект который является итерируемым, после применения заданной функции к каждому объекту в заданном итеруемом объекте ( списке , кортеже и т.д.)

Простыми словами - если есть какой-то список и какая-то функция - map() может применить эту функцию ко всем элементам списка, а то, что будет возвращать функция - записывать в новый список.

Синтаксис

map(function, iterable)

Пример

Простейший пример на применение функции умножения на 2

l1 = [1, 2, 3] def mult2(x): return x*2 m = map(mult2, l1) print(m) print(list(m))

<map object at 0x7f57a016ff40> [2, 4, 6]

Проверка списка

Чтобы проверить все ли числа в списке положительные нужно воспользоваться функцией all() а также, например, map() и lambda

l1 = [1, 2, 3] l2 = [1, -2, "some text"] if all(map(lambda x: x > 0, l2)): print("all positive in l2") else: print("not all positive in l2") if all(map(lambda x: x > 0, l1)): print("all positive in l1") else: print("not all positive in l1")

all positive in l1
not all positive in l2

Свой вариант map()

Возможно, работа функции map() станет понятнее, если попробовать написать свой аналог

def square(x): return x * x def my_map(func, arg_list): result = [] for i in arg_list: result.append(func(i)) return result squares = my_map(square, [1, 2, 3, 4, 5]) print(squares)

python custom_map.py

[1, 4, 9, 16, 25]

Похожие статьи
Функции
Лямбда функции
all()
Списки
List Comprehension
Python

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

IT

Образование

Актуально сейчас

Разное

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящуюю по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: