Рубрики
Без рубрики

Объяснение и примеры функций карты Python

Функция Python map () принимает два аргумента: итерируемый и функцию и применяет его к каждому элементу итерируемого (список, кортеж и т. Д.) Синтаксис карты()

Автор оригинала: Team Python Pool.

Объяснение и примеры функций карты Python

Что такое функция Python map ()?

Цель функции Python map – применить одну и ту же процедуру к каждому элементу итеративной структуры данных. Итерационные структуры данных могут включать списки, генераторы, строки и т. Д. В самом простом примере карта может перебирать каждый элемент в списке и применять функцию к каждому элементу.

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

Также читайте: Ряд Фибоначчи в Python

Синтаксис функции Python map

Синтаксис функции Python map() таков:

map(function, iterable, ...)

Параметры функции Python map

function : It is a function to which map passes each element of given iterable.
iterable : It is a iterable which is to be mapped.

ПРИМЕЧАНИЕ: Вы можете передать одну или несколько итераций функции map ().

Мы можем передать несколько итерационных аргументов функции map (), в этом случае указанная функция должна иметь столько аргументов. Функция будет применяться к этим итеративным элементам параллельно. При наличии нескольких итерационных аргументов итератор карты останавливается, когда исчерпывается самая короткая итерация.

Первый аргумент: Функция

Функция map принимает функцию в качестве первого аргумента. Когда мы думаем о функции в Python, мы автоматически думаем о ключевом слове def, но функция map принимает не только функции , созданные пользователем с помощью ключевого слова def, но также встроенные и анонимные функции и даже методы.

Второй аргумент: Итерируемый

Когда мы думаем об итерируемом, мы автоматически думаем о списках, но итерируемые-это гораздо больше, чем списки. Итерабельный – это объект со счетным числом значений, которые могут быть итеративны, например, с помощью цикла for, Наборы, кортежи, словари также являются итерабельными, и они могут быть использованы в качестве второго аргумента функции map.

Примеры: Python map() со строкой

def to_upper_case(s):
    return str(s).upper()

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

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

def print_iterator(it):
    for x in it:
        print(x,)
    print('')  # for new line

Давайте рассмотрим пример функции map() с различными типами итераций.

# map() with string(to_upper_case, 'abc')
print(type(map_iterator))
print_iterator(map_iterator)

Выход:


A B C

Python map() с кортежем

# map() with tuple(to_upper_case, (1, 'a', 'abc'))
print_iterator(map_iterator)

Выход:

1 A ABC

Python map() со списком

(to_upper_case, ['x', 'a', 'abc'])
print_iterator(map_iterator)

Выход:

X A ABC

Пример: Функция Python map() с лямбда-функцией

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

listOfStr = ['hi', 'this' , 'is', 'a', 'very', 'simple', 'string' , 'for', 'us']
 
# Reverse each string in the list using lambda function & map()(map(lambda x : x[::-1], listOfStr))
 
print('Modified List : ', modifiedList)

Выход:

Modified List :  ['ih', 'siht', 'si', 'a', 'yrev', 'elpmis', 'gnirts', 'rof', 'su']

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

Пример: Передача нескольких аргументов функции map() в Python

Функция map() вместе с функцией в качестве аргумента также может передавать в качестве аргументов несколько последовательностей, таких как списки. Давайте посмотрим, как передать 2 списка в функцию map() и получить на их основе объединенный список.

Предположим, что у нас есть два списка, т. е.

list1 = ['hi', 'this', 'is', 'a', 'very', 'simple', 'string', 'for', 'us']
list2 = [11,22,33,44,55,66,77,88,99]

Теперь мы хотим соединить элементы из списка 1 в список 2 и создать новый список того же размера из этих соединенных списков т. е. новые списки должны быть такими,

['hi_11', 'this_22', 'is_33', 'a_44', 'very_55', 'simple_66', 'string_77', 'for_88', 'us_99']

Вывод

  1. Функция map имеет два аргумента (1) функцию и (2) итерацию.
  2. Применяет функцию к каждому элементу итерируемого объекта и возвращает объект карты.
  3. Возвращаемый объект map может быть легко преобразован в другой итерационный объект с помощью встроенных функций.

Подробнее о href=”https://docs.python.org/3/library/functions.html#map”>Python Maps href=”https://docs.python.org/3/library/functions.html#map”>Python Maps

Если вы не нашли то, что искали, то предложите нам это в комментариях ниже. Мы будем более чем счастливы добавить это.