Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

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

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

Из этого руководства вы узнаете:

Синтаксис:

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

Параметры

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

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

Функция 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(), как видно из вывода, представляет собой объект карты, отображаемый на экране как <объект карты по адресу 0x0000002C59601748>.

Вам нужно будет повторить вывод карты, используя цикл 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 и обновляет список квадратом каждого числа. Результат сохраняется в переменной 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))

Вывод:

<map object at 0x000000E65F901748>
[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="")

Вывод:

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

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

Для работы со списком в 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.

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

Вывод:

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

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

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

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

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

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

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

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]

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

Вывод:

<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

  1. Анонимная/лямбда-функция Python
  2. Генераторы Python
  3. Замыкания Python
  4. Декораторы Python
  5. Перегрузка оператора C++ с примерами
  6. Функции C++ с примерами программ
  7. Оператор Python Print():как печатать с примерами
  8. Функция Python String strip() с ПРИМЕРОМ
  9. Количество строк Python() с ПРИМЕРАМИ
  10. Python String format() Объясните с ПРИМЕРАМИ