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

Съдържание:

Anonim

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

В този урок ще научите:

  • Синтаксис:
  • Как работи функцията map ()?
  • Използване на map () с вградени функции на Python
  • Използване на map () със низ като итератор
  • Използване на map () с listof Numbers
  • Използване на map () с Tuple
  • Използване на map () с речник
  • Използване на map () с Set
  • Използване на map () с ламбда функция
  • Използване на множество итератори във функцията map ()

Синтаксис:

map(function, iterator1,iterator2… iteratorN)

Параметри

Ето две важни

  • функция: Задължителна функция, която трябва да бъде дадена на map, която ще бъде приложена към всички елементи, налични в итератора.
  • iterator: Итериращ се задължителен обект. Това може да бъде списък, кортеж и др. Можете да предадете множество обекти на итератор на функция map ().

Върната стойност

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

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

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

Например, помислете, че имате списък с числа и искате да намерите квадрата на всяко от числата.

За да получите изхода, имаме нужда от функцията, която ще върне квадрата на даденото число. Функцията ще бъде както следва:

def square(n):return n*n

Списъкът на елементите, които искаме да намерим, е както следва:

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

Сега нека използваме вградената функция map () python, за да получим квадрата на всеки от елементите в 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-loop или метода list (), за да получите крайния изход. Използвал съм list () в кода, който показва стойностите в дадения списък.

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

Картата на функциите () прилага функционалния квадрат () за всички елементи в списъка. Например променливата 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 (). Функцията 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 () с listof Numbers

За да работите със списъка в 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

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 за дефиниране на нормални функции.

Така че в примера ще използваме функцията ламбда вътре в картата (). Ламбда функцията ще умножи всяка стойност в списъка с 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: Предаване на един Tuple и списък итератор в map ()

Ще използваме списък и итератор на кортеж в функцията map (). Функцията е дадена на map - myMapFunc () ще получи елементите от списъка и Tuple. Елементите ще бъдат обединени с подчертаване (_). Работният пример е както е показано по-долу:

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 ().
  • Set в Python е неподредена колекция от елементи в къдрави скоби (()). Тъй като set () също е итератор, можете да го използвате във функцията map ().
  • В Python, ламбда изрази (или ламбда форми) се използват за изграждане на анонимни функции. Така че ключовата дума lambda трябва да се използва, когато искате да използвате lambda вътре в картата ().
  • Можете да изпратите повече от един итератор, т.е. списък, кортеж към функцията map ().