Python map () stosuje funkcję do wszystkich elementów iteratora podanych jako dane wejściowe. Na przykład iterator może być listą, krotką, zestawem, słownikiem, łańcuchem i zwraca iterowalny obiekt mapy. Python map () to funkcja wbudowana.
W tym samouczku dowiesz się:
- Składnia:
- Jak działa funkcja map ()?
- Używanie map () z wbudowanymi funkcjami Pythona
- Używanie map () z łańcuchem jako iteratorem
- Używanie map () z listof Numbers
- Używanie map () z Tuple
- Używanie map () ze słownikiem
- Korzystanie z map () z zestawem
- Używanie map () z funkcją Lambda
- Używanie wielu iteratorów wewnątrz funkcji map ()
Składnia:
map(function, iterator1,iterator2… iteratorN)
Parametry
Oto dwa ważne
- funkcja: Obowiązkowa funkcja, która ma zostać nadana mapie, która zostanie zastosowana do wszystkich elementów dostępnych w iteratorze.
- iterator: iterowalny obowiązkowy obiekt. Może to być lista, krotka itp. Do funkcji map () można przekazać wiele obiektów iteratorów.
Wartość zwracana
Funkcja map () zastosuje daną funkcję do wszystkich elementów wewnątrz iteratora i zwróci iterowalny obiekt mapy, tj. Krotkę, listę itp.
Jak działa funkcja map ()?
Funkcja map () przyjmuje dwa wejścia jako funkcję i obiekt iterowalny. Funkcja przekazana funkcji map () jest normalną funkcją i będzie iterować po wszystkich wartościach obecnych w podanym iterowalnym obiekcie.
Załóżmy na przykład, że masz listę liczb i chcesz znaleźć kwadrat każdej z liczb.
Aby uzyskać wynik, potrzebujemy funkcji, która zwróci kwadrat podanej liczby. Funkcja będzie następująca:
def square(n):return n*n
Lista elementów, które chcemy znaleźć w kwadracie, wygląda następująco:
my_list = [2,3,4,5,6,7,8,9]
Teraz użyjmy wbudowanej funkcji map () pythona, aby uzyskać kwadrat każdego elementu z my_list.
Ostateczny kod wygląda następująco:
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))
Wynik:
Dane wyjściowe funkcji map (), jak widać na danych wyjściowych, to obiekt mapy wyświetlany na ekranie jako
Będziesz musiał iterować dane wyjściowe z mapy za pomocą pętli for lub metody list (), aby uzyskać ostateczne dane wyjściowe. Użyłem list () w kodzie, który wyświetla wartości wewnątrz podanej listy.
Więc używając funkcji map (), jesteśmy w stanie uzyskać kwadrat każdej liczby. Lista podana do mapy to [2,3,4,5,6,7,8,9], a używając funkcji square (), wynik z mapy (), którą otrzymaliśmy, to [4, 9, 16, 25, 36, 49, 64, 81].
Funkcja map () stosuje kwadrat funkcji () na wszystkich elementach listy. Na przykład zmienna my_list i aktualizuje listę o kwadrat każdej liczby. Wyjście jest przechowywane w zmiennej updated_list.
Używanie map () z wbudowanymi funkcjami Pythona
Funkcja map () w Pythonie jest funkcją wbudowaną i może być również używana z innymi wbudowanymi funkcjami dostępnymi w Pythonie. W tym przykładzie użyjemy funkcji wbudowanej round () w języku Python, która zaokrągla podane wartości.
Przykład:
Lista, którą mam, to my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].
Potrzebuję zaokrąglonych wartości dla każdego elementu na liście. Użyjemy round () jako funkcji do mapowania ().
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))
Wynik:
Funkcja round () jest stosowana do wszystkich pozycji na liście i zwraca listę z zaokrąglonymi wszystkimi wartościami, jak pokazano w danych wyjściowych.
Używanie map () z łańcuchem jako iteratorem
Możemy również użyć map () w łańcuchu. W Pythonie ciąg działa jak tablica, więc możemy go łatwo użyć wewnątrz map ().
W tym przykładzie mamy funkcję myMapFunc (), która zajmuje się konwersją podanego ciągu znaków na wielkie litery. Funkcja myMapFunc () jest przekazywana do funkcji map (). Funkcja map zajmie się konwersją podanego ciągu znaków na wielkie litery, przekazując go do 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)
Wynik:
Używanie map () z listof Numbers
Aby pracować z listą w map (), weźmie listę liczb i pomnoży każdą liczbę na liście przez 10.
Lista, której będziemy używać, to: [2,3,4,5,6,7,8,9]. Funkcja myMapFunc () dba o pomnożenie podanej liczby przez 10. Funkcja jest podana do odwzorowania wraz z listą.
Przykład:
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))
Wynik:
Wynik, który widzimy, jest taki, że każda liczba na liście to
pomnożone przez 10.
Używanie map () z Tuple
Krotka to obiekt w Pythonie, który ma elementy oddzielone przecinkami i zawarte w nawiasach okrągłych. W tym przykładzie weźmiemy krotkę z wartościami łańcuchowymi. Funkcja, której użyjemy, zamieni podane wartości na wielkie litery.
Przykład:
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))
Wynik:
Wynik, który otrzymujemy, to krotka z powrotem, w której wszystkie wartości są konwertowane na wielkie litery.
Używanie map () ze słownikiem
Słownik w Pythonie jest tworzony za pomocą nawiasów klamrowych ({}). Ponieważ słownik jest iteratorem, możesz go użyć wewnątrz funkcji map (). Użyjmy teraz słownika jako iteratora wewnątrz funkcji map ().
Poniższy przykład pokazuje działanie iteratora słownika wewnątrz 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))
Wynik:
Korzystanie z map () z zestawem
W Pythonie jest to nieuporządkowana kolekcja elementów w nawiasach klamrowych (()). Ponieważ set () jest również iteratorem, możesz go użyć wewnątrz funkcji map ().
Oto działający przykład użycia set jako iteratora wewnątrz 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))
Wynik:
Używanie map () z funkcją Lambda
W Pythonie wyrażenia lambda są używane do konstruowania funkcji anonimowych. Będziesz musiał użyć słowa kluczowego lambda tak samo, jak używasz def do definiowania normalnych funkcji.
W tym przykładzie użyjemy funkcji lambda wewnątrz map (). Funkcja lambda pomnoży każdą wartość z listy przez 10.
Przykład:
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))
Wynik:
Używanie wielu iteratorów wewnątrz funkcji map ()
Przykład 1: przekazywanie dwóch iteratorów list do map ()
Możesz wysłać więcej niż jeden iterator, tj. Listę, krotkę, itp. Jednocześnie do funkcji map ().
Na przykład, jeśli chcesz dodać dwie listy. To samo można zrobić za pomocą funkcji map (). Zamierzamy skorzystać z dwóch list my_list1 i my_list2.
W poniższym przykładzie pierwszy element z my_list1 jest dodawany do pierwszego elementu z my_list2. Funkcja myMapFunc () przyjmuje elementy my_list1 i my_list2 i zwraca sumę obu.
Oto działający przykład dodawania dwóch podanych list za pomocą funkcji 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))
Wynik:
Przykład 2: przekazanie jednej krotki i iteratora listy do mapowania ()
Zamierzamy skorzystać z listy i iteratora krotki w funkcji map (). Funkcja jest przypisana do map - myMapFunc () pobierze elementy z listy i Tuple. Elementy zostaną połączone podkreśleniem (_). Przykład roboczy jest taki, jak pokazano poniżej:
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))
Wynik:
Podsumowanie
- Python map () to wbudowana funkcja, która stosuje funkcję do wszystkich elementów iteratora podanych jako dane wejściowe. Na przykład iterator może być listą, krotką, łańcuchem znaków itp. I zwraca iterowalny obiekt mapy.
- Funkcja map () zastosuje daną funkcję do wszystkich elementów wewnątrz iteratora i zwróci iterowalny obiekt mapy, tj. Krotkę, listę itp.
- Funkcja map () w Pythonie jest funkcją wbudowaną i może być również używana z innymi wbudowanymi funkcjami dostępnymi w Pythonie.
- Krotka to obiekt w Pythonie, który ma elementy oddzielone przecinkami i zawarte w nawiasach okrągłych. W przykładzie weźmie krotkę z wartościami ciągów. Funkcja, której użyjemy, zamieni podane wartości na wielkie litery.
- Słownik w Pythonie jest tworzony za pomocą nawiasów klamrowych ({}). Ponieważ słownik jest iteratorem, możesz go użyć wewnątrz funkcji map ().
- W Pythonie jest to nieuporządkowana kolekcja elementów w nawiasach klamrowych (()). Ponieważ set () jest również iteratorem, możesz go użyć wewnątrz funkcji map ().
- W Pythonie do konstruowania funkcji anonimowych wykorzystuje się wyrażenia lambda (lub formy lambda). Więc słowo kluczowe lambda musi być używane, gdy chcesz użyć lambda wewnątrz map ().
- Możesz wysłać więcej niż jeden iterator, tj. Listę, krotkę do funkcji map ().