Карта Python: как использовать функцию map () в Python

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

Функция карты Python

Python map () — это встроенная функция, которая используется для применения функции ко всем элементам указанных итерируемых и возвращаемых объектов карты. Функция map () применяет данную функцию к каждому элементу итерации, например списку, кортежу и т. Д., И возвращает результат в виде списка.

Python заимствует концепцию карты из функционала область программирования. Операция карты принимает функцию сопоставления и вектор данных в качестве аргументов и возвращает новый вектор, который является результатом применения функции сопоставления к каждому элементу вектора независимо.

Синтаксис

Синтаксис map () следующий.

 map (function, iterable, ...) 

Параметры

function — метод map () передает в эту функцию каждый элемент iterable .

iterable — итерируемый объект, который должен отображаться как список, кортеж, словарь или набор.

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

Возвращаемое значение

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

Как работает функция map () в Python

Хорошо, давайте рассмотрим следующий пример.

 # app.pydef calculateCube (n): return n * n * nnumbers = (11, 21, 19, 46) output  = map (calculateCube, numbers) print (output) # преобразование объекта карты в setnumbersCube = set (output) print (numbersCube) 

Просмотреть вывод.

 ➜ pyt python3 app.py  {97336, 1331, 9261, 6859} ➜ pyt 

В В приведенном выше примере каждый элемент кортежа строится в кубе.

Поскольку map () ожидает, что функция будет передана, лямбда-функции обычно используются при работе с функциями map ().

См. второй следующий пример.

 # app.pychars = ['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) 

В приведенном выше коде мы определили один список и определили функция, которая возвращает строку в верхнем регистре.

Затем вызовите функцию карты и предоставьте два аргумента. 1) change_upper_case и 2)

Результатом функции map является итератор, а затем мы преобразовали это итератор для перечисления и печати этого списка.

Итак, функция карты сопоставила все символы нижнего регистра с символами верхнего регистра. В отличие от функции фильтра, она не удаляет никаких значений из существующего списка.

См. Вывод ниже.

Мы можем использовать Функция Python map () с функцией Python Lambda.

Мы можем сократить приведенный выше код до трех строк кода с помощью лямбда-функции.

Мы можем использовать лямбда-функции с методом map () если мы не хотим использовать его повторно. Это полезно, когда наша функция мала, и мы не хотим определять новую функцию.

Давайте посмотрим на следующий пример.

 # app.pychars =  ['s', 'k', 'k', 'a', 'v'] преобразовано = list (map (lambda s: str (s) .upper (), chars)) print (преобразовано) 

Как преобразовать карту Python в кортеж и set

Мы можем преобразовать итератор функции карты в кортеж и установить. См. Следующий пример.

 # app.pynames = ['krunal', 'ankit', 'rushabh', 'dhaval', 'nehal'] convertTuple = tuple (map (lambda s: str  (s) .upper (), names)) print (convertTuple) 

См. вывод ниже.

Мы преобразовали список в кортеж. Давайте преобразуем список в набор с помощью карты и лямбда-функции.

 # app.pystrings = ['krunal', 'ankit', 'rushabh', 'dhaval', 'nehal'] convertSet  = set (map (lambda s: str (s) .upper (), strings)) print (convertSet) 

См. вывод ниже.

Функция Python map () с несколькими аргументами

Взгляните на пример использования функции map () с несколькими повторяемыми аргументами.

 # app.pylist_numbers = [19, 18, 29, 46] tuple_numbers = (21, 21,  21, 21) map_iterator = map (lambda x, y: x * y, list_numbers, tuple_numbers) print (list (map_iterator)) 

Мы определили один список и итератор и передали его карте функция, и она вернет умножение этого списка и кортежа и вернет итератор, и мы преобразовали этот итератор в список.

См. результат.

Как просмотреть список строк индивидуально в Python

Давайте рассмотрим список строк индивидуально в Python.

 #app. pylistA = ['Millie', 'Finn', 'Noah', 'Gaten'] print ("Исходный список:" + str (listA)) listifyData = list (map (list, listA)) print (listifyData) 

См. вывод.

 ➜ pyt python3 app.py Исходный список: ['Millie', 'Finn', 'Noah', 'Gaten'] [[  'M', 'i', 'l', 'l', 'i', 'e'], ['F', 'i', 'n', 'n'], ['N', 'o  ',' a ',' h '], [' G ',' a ',' t ',' e ',' n ']] ➜ pyt 

Наконец, карта Python ( ) пример функции завершен.

Рекомендуемые сообщения

Python добавить в список

Python iter ()

Python string ()

Python filter ()

Пример Python pandas

Оцените статью
nanomode.ru
Добавить комментарий