Python Glossary English

все Python 3Функциифункция

map()

функциональное

Применяет функцию к каждому элементу итерируемого. Возвращает итератор.

Синтаксис

map(func, iterable)

map возвращает ленивый итератор: ничего не считается, пока вы по нему не пройдёте, а после первого прохода он пуст — оборачивайте в list(), если результат нужен дважды. Часто списковое включение [f(x) for x in xs] читается яснее; map выигрывает, когда функция уже готова, как в map(int, strs).

Примеры

nums = [1, 2, 3, 4]
result = list(map(lambda x: x**2, nums))
print(result)  # → [1, 4, 9, 16]
strs = ['1','2','3']
ints = list(map(int, strs))
print(ints)  # → [1, 2, 3]
floats = list(map(float, ['1.1','2.2']))
print(floats)  # → [1.1, 2.2]
words = ['hello', 'world']
uppered = list(map(str.upper, words))
print(uppered)  # → ['HELLO', 'WORLD']
# map с несколькими итерируемыми
a = [1, 2, 3]
b = [10, 20, 30]
result2 = list(map(lambda x,y: x+y, a, b))
print(result2)  # → [11, 22, 33]
# map ленивый
m = map(str, range(5))
print(next(m))  # → '0'
print(next(m))  # → '1'
names = ['alice', 'bob']
result3 = list(map(str.capitalize, names))
print(result3)  # → ['Alice', 'Bob']
# map по двум последовательностям сразу
print(list(map(lambda x, y: x + y, [1,2,3], [10,20,30])))  # → [11,22,33]

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности