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

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

Синтаксис

map(function, iterator1,iterator2 ...iteratorN)

параметры

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

  • function: Обязательная функция, которая должна быть присвоена карте и которая будет применяться ко всем элементам, доступным в итераторе.
  • итератор: итерируемый обязательный объект. Это может быть список, кортеж и т. д. В функцию 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*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))

Вывод:

<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]

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

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

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

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

Использование карты() с 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() в качестве функции для отображения().

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))

Вывод:

<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]

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

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

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

В этом примере у нас есть функция 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="")

Вывод:

<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!

Использование карты() со списком Numbers

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

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

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

def myMapFunc(n):
    return n*10

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

updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))

Вывод:

<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]

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

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

Использование карты() с 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))

Вывод:

<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

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

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

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

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

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

Вывод:

<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

Использование карты() с Set

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

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

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

Вывод:

<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

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

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

Итак, в этом примере мы собираемся использовать лямбда-функцию внутри карты(). Лямбда-функция умножит каждое значение в списке на 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))

Вывод:

<map object at 0x000000BD18B11898>
[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+list2

my_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))

Вывод:

<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]

Пример 2. Передача одного кортежа и итератора списка в функцию map()

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

def myMapFunc(list1, tuple1):
    return list1+"_"+tuple1

my_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))

Вывод:

<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

Итого

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