Python map() — это встроенная функция, которая применяет заданную функцию ко всем элементам входной итерации (например, к списку, кортежу или набору) и возвращает объект карты(итератор). Функция map() принимает два аргумента: первый — это функция, которая будет применяться к каждому элементу, а второй аргумент является итерируемым объектом.
В данном руководстве рассмотрим, что делает функция map() в Python, ее синтаксис, параметры и примеры.
Синтаксис
|
1 |
map(function, iterable, ...) |
Параметры map()
- function — метод map() передает каждый элемент итерируемого объекта этой функции.
- iterable — итерируемый объект, который должен отображаться как список, кортеж, словарь или набор.
Функция Python map() применяет заданную функцию к каждому элементу итерации и возвращает список результатов.
Возвращаемое значение функции
Возвращенное значение из map() — (объект карты) затем может быть передано в такие функции, как list() — для создания списка, set() — для создания набора и так далее.
Пример 1
|
1 2 3 4 5 6 7 8 9 10 11 |
def calculateCube(n): return n*n*n numbers =(11, 21, 19, 46) output = map(calculateCube, numbers) print(output) # converting map object to set numbersCube = set(output) print(numbersCube) |
Выход
|
1 2 |
<map object at 0x102b5e4e0> {97336, 1331, 9261, 6859} |
В приведенном выше примере каждый элемент кортежа помещается в куб.
Поскольку map() ожидает, что функция будет передана, лямбда-функции обычно используются при работе с функциями map().
Пример 2
|
1 2 3 4 5 6 7 8 |
chars = ['s', 'k', 'k', 'a', 'v'] def change_upper_case(s): return str(s).upper() map_iterator = map(change_upper_case, chars) output_list = list(map_iterator) print(output_list) |
В приведенном выше коде мы определили один список и определили функцию, которая возвращает строку в верхнем регистре.
Затем вызовите функцию map() и укажите два аргумента: 1) change_upper_case и 2) символы.
Результатом функции map() является итератор, а затем мы преобразовали этот итератор в список и распечатали этот список.
Итак, функция сопоставила все символы нижнего регистра с символами верхнего регистра. В отличие от функции filter(), она не удаляет никаких значений из существующего списка.
Выход

