Python Функция map() с примерами
⚡ Умное резюме
Python Функция `map()` применяет заданную функцию к каждому элементу итерируемого объекта, такого как список, кортеж, множество, словарь или строка. Она возвращает ленивый объект `map`, который вы можете преобразовать с помощью `list()` или итерировать с помощью цикла.
Синтаксис
map(function, iterator1,iterator2 ...iteratorN)
Параметры
Вот два важных параметра:
- функция: Обязательная функция для функции map(), которая будет применяться ко всем элементам, имеющимся в итераторе.
- итератор: Обязательный итерируемый объект. Это может быть список, кортеж и т. д. В функцию map() можно передать несколько объектов-итераторов.
Возвращаемое значение
Функция map() применяет заданную функцию ко всем элементам внутри итератора и возвращает итерируемый объект map, то есть кортеж, список и т. д.
Как работает функция карты()?
Функция map() принимает два входных параметра: функцию и итерируемый объект. Функция, передаваемая в map(), является обычной функцией и перебирает все значения, присутствующие в итерируемом объекте.
Например, предположим, что у вас есть список чисел, и вы хотите найти квадрат каждого из чисел.
Для получения результата нам нужна функция, которая будет возвращать квадрат заданного числа. Функция выглядит следующим образом:
def square(n): return n*n
Список предметов, для которых мы хотим найти квадрат, выглядит следующим образом:
my_list = [2,3,4,5,6,7,8,9]
Теперь воспользуемся встроенной функцией 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(), как показано выше, является объект карты, отображаемый на экране. .
Для получения окончательного результата вам потребуется перебрать выходные данные функции map() с помощью цикла for или метода list(). В коде я использовал метод list() для отображения значений из заданного списка.
Таким образом, используя функцию map(), мы можем получить квадрат каждого числа. Список, переданный функции map(), был [2,3,4,5,6,7,8,9], а используя функцию square(), мы получили результат [4, 9, 16, 25, 36, 49, 64, 81].
Функция map() применяет функцию square() ко всем элементам списка. Например, она берет переменную my_list и обновляет список, добавляя квадрат каждого числа. Результат сохраняется в переменной updated_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() для преобразования в 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() для строки. В PythonСтрока ведет себя как массив, поэтому мы можем легко использовать ее внутри функции map().
В этом примере у нас есть функция myMapFunc(), которая отвечает за преобразование заданной строки в верхний регистр. Функция myMapFunc() передается функции map(). Функция 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() со списком Numbers
Для работы со списком в функции map() мы возьмем список чисел и умножим каждое число в списке на 10.
Список, который мы будем использовать, — [2,3,4,5,6,7,8,9]. Функция myMapFunc() отвечает за умножение заданного числа на 10. Эта функция передается в функцию map() вместе со списком.
Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.
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().
Следующий пример демонстрирует работу итератора словаря внутри функции 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().
Вот рабочий пример использования множества в качестве итератора внутри функции 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]
Использование карты() с функцией Lambda
In Pythonлямбда-выражения используются для создания анонимных функций. Вам придется использовать ключевое слово лямбда так же, как вы используете 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(), передаваемая в map(), получит элементы из списка и кортежа. Элементы будут объединены символом подчеркивания (_). Рабочий пример показан ниже:
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']

