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 |