Функція map () застосовує задану функцію до кожного елемента ітерабельного (списку, кортежу тощо) і повертає список результатів.
Синтаксис map()
:
карта (функція, ітерація,…)
map () Параметр
- функція -
map()
передає кожен елемент ітерабельного файлу цій функції. - iterable - ітеративний, який слід зіставити
Ви можете передати більше ніж один ітерабель map()
функції.
Повернене значення з карти ()
map()
Функція застосовується задана для функції кожного елемента ітератора і повертає список результатів.
Повернене значення з 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.
Приклад 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 () з використанням лямбда-сигналу
У цьому прикладі додаються відповідні елементи з двох списків.
num1 = (4, 5, 6) num2 = (5, 6, 7) result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
Вихідні дані
(9, 11, 13)