English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Python

Контроль потока Python

Функции Python

Типы данных Python

Файловые операции Python

Объекты и классы в Python

Даты и время в Python

Высокий уровень знаний Python

Руководство по Python

Метод использования map() в Python и примеры

Внутренние функции Python

Функция map() применяет заданную функцию ко всем элементам итерируемого (например, список, кортеж и т.д.) и возвращает список результатов.

Синтаксис map():

map(function, iterable, ...)

parameter map()

  • function-map() будетИтерируемый- каждый элемент итерируемого (iterable) передается в эту функцию.

  • iterable итеров

Вы также можете передать несколькоИтерируемый (iterable)Передается функции map()

Возврат значения map()

Функция map() applies the given function to each item of an iterable and returns a list of results.

Затем, можно передать значение функции map() (объект map) вlist()И т.д. функции (создание списка),set()И т.д. функции (создание множества) и т.д.

Пример 1: Как работает map()?

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Больше информации.

Пример 2: Как использовать функцию lambda в map()?

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Функционально эквивалентно.

Пример 3: Использование Lambda для передачи нескольких итераторов в map()

В этом примере, добавлены соответствующие элементы двух списков.

num1 = [4, 5, 6]
num2 = [5, 6, 7]
result = map(lambda n1, n2: n1+n2, num1, num2)
print(list(result))

При запуске этого программы, вывод будет:

[9, 11, 13]

Внутренние функции Python