Функция Python map() с ПРИМЕРАМИ
Python map() применяет функцию ко всем элементам итератора, переданным в качестве входных данных. Итератор, например, может быть списком, кортежем, набором, словарем, строкой и возвращает итерируемый объект карты. Python map() — это встроенная функция.
Из этого руководства вы узнаете:
- Синтаксис:
- Как работает функция map()?
- Использование map() со встроенными функциями Python
- Использование map() со строкой в качестве итератора
- Использование map() со списком чисел
- Использование map() с Tuple
- Использование map() со словарем
- Использование map() с набором
- Использование map() с лямбда-функцией
- Использование нескольких итераторов внутри функции map()
Синтаксис:
map(function, iterator1,iterator2 ...iteratorN)
Параметры
Вот два важных
- функция:обязательная функция, которая должна быть задана для карты, которая будет применяться ко всем элементам, доступным в итераторе.
- iterator:Итерируемый обязательный объект. Это может быть список, кортеж и т. д. Вы можете передать несколько объектов итератора в функцию 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*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 map() — это встроенная функция, которая применяет функцию ко всем элементам итератора, переданным в качестве входных данных. Итератор, например, может быть списком, кортежем, строкой и т. д., и он возвращает итерируемый объект карты.
- Функция map() будет применять данную функцию ко всем элементам внутри итератора и возвращать итерируемый объект карты, т. е. кортеж, список и т. д.
- Функция Python map() — это встроенная функция, которую также можно использовать с другими встроенными функциями, доступными в Python.
- Кортеж — это объект в Python, элементы которого разделены запятыми и заключены в круглые скобки. В примере возьмем кортеж со строковыми значениями. Функция, которую мы будем использовать, преобразует данные значения в верхний регистр.
- Словарь в Python создается с помощью фигурных скобок ({}). Поскольку словарь является итератором, вы можете использовать его внутри функции map().
- Set в Python – это неупорядоченная коллекция элементов, заключенных в фигурные скобки (()). Поскольку set() также является итератором, вы можете использовать его внутри функции map().
- В Python лямбда-выражения (или лямбда-формы) используются для создания анонимных функций. Таким образом, ключевое слово лямбда должно использоваться, когда вы хотите использовать лямбда внутри карты().
- Вы можете отправить более одного итератора, т. е. список, кортеж, в функцию map().
Python
- Анонимная/лямбда-функция Python
- Генераторы Python
- Замыкания Python
- Декораторы Python
- Перегрузка оператора C++ с примерами
- Функции C++ с примерами программ
- Оператор Python Print():как печатать с примерами
- Функция Python String strip() с ПРИМЕРОМ
- Количество строк Python() с ПРИМЕРАМИ
- Python String format() Объясните с ПРИМЕРАМИ