English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Функция map() применяет заданную функцию ко всем элементам итерируемого (например, список, кортеж и т.д.) и возвращает список результатов.
Синтаксис map():
map(function, iterable, ...)
function-map() будетИтерируемый- каждый элемент итерируемого (iterable) передается в эту функцию.
iterable итеров
Вы также можете передать несколькоИтерируемый (iterable)Передается функции map()
Функция map() applies the given function to each item of an iterable and returns a list of results.
Затем, можно передать значение функции map() (объект map) вlist()И т.д. функции (создание списка),set()И т.д. функции (создание множества) и т.д.
def calculateSquare(n): возврат n*n numbers = (1, 2, 3, 4) result = map(calculateSquare, numbers) print(result) # Преобразование map объекта в множество numbersSquare = set(result) print(numbersSquare)
При запуске этого программы, вывод будет:
<map object at 0x7f722da129e8> {16, 1, 4, 9}
В上面的 примере, каждый элемент кортежа был возведен во вторую степень.
Поскольку map() ждет функции, поэтому при использовании функции map() обычно используется функция lambda.
Функция lambda - это анонимная функция без названия. Узнайте оФункция lambda PythonБольше информации.
numbers = (1, 2, 3, 4) result = map(lambda x: x*x, numbers) print(result) # Преобразование map объекта в множество numbersSquare = set(result) print(numbersSquare)
При запуске этого программы, вывод будет:
<map 0x7fafc21ccb00> {16, 1, 4, 9}
Этот пример иПример 1Функционально эквивалентно.
В этом примере, добавлены соответствующие элементы двух списков.
num1 = [4, 5, 6] num2 = [5, 6, 7] result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
При запуске этого программы, вывод будет:
[9, 11, 13]