Функцията map () прилага дадена функция към всеки елемент от итерация (списък, кортеж и т.н.) и връща списък с резултатите.
Синтаксисът на map()
е:
карта (функция, итерируема, …)
map () Параметър
- функция -
map()
предава всеки елемент от итерируемия на тази функция. - iterable - итерируем, който трябва да бъде картографиран
Можете да предадете повече от една итерация към map()
функцията.
Върната стойност от картата ()
Най- map()
функцията се прилага дадена функция към всеки елемент на iterable и връща списък с резултатите.
Върнатата стойност от map()
(обект на картата) след това може да бъде предадена на функции като list () (за създаване на списък), set () (за създаване на набор) и т.н.
Пример 1: Работа с map ()
def calculateSquare(n): return n*n numbers = (1, 2, 3, 4) result = map(calculateSquare, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Изход
(16, 1, 4, 9)
В горния пример всеки елемент от кортежа е на квадрат.
Тъй като map()
очаква да бъде предадена функция, често се използват ламбда функции при работа с map()
функции.
Ламбда функция е кратка функция без име. Посетете тази страница, за да научите повече за функцията Python lambda.
Пример 2: Как да използвам ламбда функция с map ()?
numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # converting map object to set numbersSquare = set(result) print(numbersSquare)
Изход
(16, 1, 4, 9)
Няма разлика във функционалностите на този пример и пример 1 .
Пример 3: Предаване на множество итератори на map () с помощта на Lambda
В този пример се добавят съответните елементи от два списъка.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Изход
(9, 11, 13)