Функция map() в Python
Описание
map()Применяет предоставленную функцию к указанной последовательности.
Первый параметр function вызывает функцию для каждого элемента в последовательности параметров, возвращая новый список, содержащий возвращаемое значение каждого вызова функции.
Синтаксис
Синтаксис функции map():
map(function, iterable, ...)
Parameters
- function -- Функция
- iterable -- одна или несколько последовательностей
Возвращаемое значение
Python 2.x возвращает список.
Python 3.x возвращает итератор.
Примеры
В следующих примерах показано, как использовать map():
Примеры Python2.x
>>> def square(x) : # Вычислить квадраты чисел
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # Вычислить квадрат каждого элемента в списке
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # Использовать анонимную лямбда-функцию
[1, 4, 9, 16, 25]
# Даны два списка, складываем данные на одинаковых позициях
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # Вычислить квадрат каждого элемента в списке
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # Использовать анонимную лямбда-функцию
[1, 4, 9, 16, 25]
# Даны два списка, складываем данные на одинаковых позициях
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]
Примеры Python3.x
>>> def square(x) : # Вычислить квадраты чисел
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # Вычислить квадрат каждого элемента в списке
<map object at 0x100d3d550> # Возвращает итератор
>>> list(map(square, [1,2,3,4,5])) # Использовать list() для преобразования в список
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # Использовать анонимную лямбда-функцию
[1, 4, 9, 16, 25]
>>>
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # Вычислить квадрат каждого элемента в списке
<map object at 0x100d3d550> # Возвращает итератор
>>> list(map(square, [1,2,3,4,5])) # Использовать list() для преобразования в список
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # Использовать анонимную лямбда-функцию
[1, 4, 9, 16, 25]
>>>
Встроенные функции Python