map()

Функция map() применяет переданную функцию к каждому элементу итерируемого объекта и возвращает «ленивый» итератор результатов. Может работать с несколькими итерируемыми объектами одновременно — тогда функция получает по одному элементу из каждого.

Сигнатура

map(function, iterable, *iterables)

Параметры:

  • function — функция, принимающая столько аргументов, сколько передано итераторов.

  • iterable — основной итерируемый объект.

  • *iterables — дополнительные итерируемые объекты. Итерация останавливается на самом коротком из них.

Возвращает: объект-итератор map. Часто оборачивается в list().

Примеры

Возведение в квадрат:

nums = [1, 2, 3, 4]
squares = list(map(lambda x: x * x, nums))
print(squares)
[1, 4, 9, 16]

Преобразование строк в числа:

data = ["10", "25", "7"]
values = list(map(int, data))
print(values)
print(sum(values))
[10, 25, 7]
42

Два итерируемых объекта — поэлементное сложение:

a = [1, 2, 3]
b = [10, 20, 30]
result = list(map(lambda x, y: x + y, a, b))
print(result)
[11, 22, 33]

С обычной функцией:

def to_celsius(f):
    return round((f - 32) * 5 / 9, 1)

fahrenheit = [32, 68, 100, 212]
print(list(map(to_celsius, fahrenheit)))
[0.0, 20.0, 37.8, 100.0]

Привести список имён к нижнему регистру:

names = ["Айгуль", "АЛИЯ", "Болат"]
print(list(map(str.lower, names)))
['айгуль', 'алия', 'болат']

См. также

Примечание

Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.