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]

Article author: Andrei Olegovich

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

Search this site

Subscribe to Telegram channel @aofeed to follow new articles and updates to old ones

Go to channel

@aofeed

Ask a question in the Telegram group

@aofeedchat

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su, info@aredel.com if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: