Функция Python map () с ПРИМЕРАМИ

Содержание:

Anonim

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

В этом руководстве вы узнаете:

  • Синтаксис:
  • Как работает функция map ()?
  • Использование map () со встроенными функциями Python
  • Использование map () со строкой в ​​качестве итератора
  • Использование map () со списком чисел
  • Использование map () с Tuple
  • Использование map () со словарем
  • Использование map () с Set
  • Использование map () с лямбда-функцией
  • Использование нескольких итераторов внутри функции map ()

Синтаксис:

map(function, iterator1,iterator2… iteratorN)

Параметры

Вот два важных

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

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

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

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

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

Например, представьте, что у вас есть список чисел, и вы хотите найти квадрат каждого из чисел.

Чтобы получить результат, нам понадобится функция, которая вернет квадрат заданного числа. Функция будет следующей:

def square(n):return n*n

Список элементов, которые мы хотим найти в квадрате, выглядит следующим образом:

my_list = [2,3,4,5,6,7,8,9]

Теперь давайте воспользуемся встроенной функцией python map (), чтобы получить квадрат каждого из элементов в my_list.

Окончательный код выглядит следующим образом:

def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))

Выход:

[4, 9, 16, 25, 36, 49, 64, 81]

Результатом работы функции map (), как видно на выходе, является объект карты, отображаемый на экране как <объект карты по адресу 0x0000002C59601748>.

Вам нужно будет выполнить итерацию вывода с карты, используя цикл for или метод list (), чтобы получить окончательный результат. Я использовал list () в коде, который отображает значения внутри данного списка.

Таким образом, используя функцию map (), мы можем получить квадрат каждого числа. Список, переданный map, был [2,3,4,5,6,7,8,9], а с помощью функции square () вывод из map () мы получили [4, 9, 16, 25, 36, 49, 64, 81].

Функция map () применяет функцию square () ко всем элементам в списке. Например, переменная my_list обновляет список квадратом каждого числа. Выход хранится в переменной updated_list.

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

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

Пример:

Список, который у меня есть, my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].

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

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))

Выход:

[3, 4, 4, 6, 6, 8, 8, 10]

Функция round () применяется ко всем элементам в списке и возвращает список со всеми значениями, округленными, как показано в выходных данных.

Использование map () со строкой в ​​качестве итератора

Мы также можем использовать map () в строке. В Python строка действует как массив, поэтому мы можем легко использовать ее внутри map ().

В этом примере у нас есть функция myMapFunc (), которая заботится о преобразовании данной строки в верхний регистр. Функция myMapFunc () передается в функцию map (). Функция карты позаботится о преобразовании строки в верхний регистр, передав ее в myMapFunc ().

def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)

Выход:

WELCOME TO GURU99 TUTORIALS!

Использование map () со списком чисел

Для работы со списком в map () возьмем список чисел и умножим каждое число в списке на 10.

Список, который мы собираемся использовать, следующий: [2,3,4,5,6,7,8,9]. Функция myMapFunc () заботится о умножении данного числа на 10. Функция передается на карту вместе со списком.

Пример:

def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))

Выход:

[20, 30, 40, 50, 60, 70, 80, 90]

В результате мы видим, что каждое число в списке

умножить на 10.

Использование map () с Tuple

Кортеж - это объект в Python, элементы которого разделены запятыми и заключены в круглые скобки. В этом примере мы возьмем кортеж со строковыми значениями. Функция, которую мы будем использовать, преобразует указанные значения в верхний регистр.

Пример:

def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))

Выход:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

В результате мы получаем кортеж, в котором все значения преобразованы в верхний регистр.

Использование map () со словарем

Словарь в Python создается с помощью фигурных скобок ({}). Поскольку словарь является итератором, вы можете использовать его внутри функции map (). Давайте теперь используем словарь в качестве итератора внутри функции map ().

В следующем примере показана работа итератора словаря внутри map ().

def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))

Выход:

[20, 30, 40, 50, 60, 70, 80, 90]

Использование map () с Set

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

Вот рабочий пример использования set в качестве итератора внутри map ()

def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))

Выход:

[20, 30, 40, 50, 60, 70, 80, 90]

Использование map () с лямбда-функцией

В Python лямбда-выражения используются для создания анонимных функций. Вам нужно будет использовать ключевое слово lambda так же, как вы используете def для определения обычных функций.

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

Пример:

my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))

Выход:

[20, 30, 40, 50, 60, 70, 80, 90]

Использование нескольких итераторов внутри функции map ()

Пример 1. Передача двух итераторов списков в map ()

Вы можете отправить более одного итератора, то есть список, кортеж и т. Д. Одновременно, в функцию map ().

Например, если вы хотите добавить два списка. То же самое можно сделать с помощью функции map (). Мы собираемся использовать два списка my_list1 и my_list2.

В приведенном ниже примере первый элемент my_list1 добавляется к первому элементу my_list2. Функция myMapFunc () принимает элементы my_list1 и my_list2 и возвращает их сумму.

Вот рабочий пример добавления двух заданных списков с помощью функции map ().

def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))

Выход:

[6, 11, 16, 21, 26, 31, 36]

Пример 2: передача одного кортежа и итератора списка в map ()

Мы собираемся использовать список и итератор кортежа в функции map (). Функция передается карте - myMapFunc () получит элементы из списка и кортежа. Элементы будут соединены знаком подчеркивания (_). Рабочий пример показан ниже:

def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))

Выход:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Резюме

  • Python map () - это встроенная функция, которая применяет функцию ко всем элементам итератора, заданным в качестве входных данных. Итератор, например, может быть списком, кортежем, строкой и т. Д. И возвращает итерируемый объект карты.
  • Функция map () будет применять данную функцию ко всем элементам внутри итератора и возвращать итерируемый объект карты, то есть кортеж, список и т. Д.
  • Функция Python map () является встроенной функцией и также может использоваться с другими встроенными функциями, доступными в Python.
  • Кортеж - это объект в Python, элементы которого разделены запятыми и заключены в круглые скобки. В примере возьмем кортеж со строковыми значениями. Функция, которую мы будем использовать, преобразует указанные значения в верхний регистр.
  • Словарь в Python создается с помощью фигурных скобок ({}). Поскольку словарь является итератором, вы можете использовать его внутри функции map ().
  • Набор в Python представляет собой неупорядоченный набор элементов в фигурных скобках (()). Поскольку set () также является итератором, вы можете использовать его внутри функции map ().
  • В Python лямбда-выражения (или лямбда-формы) используются для создания анонимных функций. Поэтому ключевое слово lambda необходимо использовать, когда вы хотите использовать lambda внутри map ().
  • Вы можете отправить более одного итератора, то есть список, кортеж в функцию map ().