Python map () wendet eine Funktion auf alle Elemente eines Iterators an, die als Eingabe angegeben werden. Ein Iterator kann beispielsweise eine Liste, ein Tupel, eine Menge, ein Wörterbuch oder eine Zeichenfolge sein und ein iterierbares Kartenobjekt zurückgeben. Python map () ist eine integrierte Funktion.
In diesem Tutorial lernen Sie:
- Syntax:
- Wie funktioniert die Funktion map ()?
- Verwenden von map () mit integrierten Python-Funktionen
- Verwenden von map () mit einer Zeichenfolge als Iterator
- Verwenden von map () mit einer Liste von Zahlen
- Verwenden von map () mit Tuple
- Verwenden von map () mit Dictionary
- Verwenden von map () mit Set
- Verwenden von map () mit Lambda-Funktion
- Verwenden mehrerer Iteratoren in der Funktion map ()
Syntax:
map(function, iterator1,iterator2… iteratorN)
Parameter
Hier sind zwei wichtige
- Funktion: Eine obligatorische Funktion für die Zuordnung, die auf alle im Iterator verfügbaren Elemente angewendet wird.
- Iterator: Ein iterierbares Pflichtobjekt. Dies kann eine Liste, ein Tupel usw. sein. Sie können mehrere Iteratorobjekte an die Funktion map () übergeben.
Rückgabewert
Die Funktion map () wendet die angegebene Funktion auf alle Elemente im Iterator an und gibt ein iterierbares Kartenobjekt zurück, dh ein Tupel, eine Liste usw.
Wie funktioniert die Funktion map ()?
Die Funktion map () verwendet zwei Eingaben als Funktion und ein iterierbares Objekt. Die Funktion, die map () zugewiesen wird, ist eine normale Funktion und durchläuft alle Werte, die in dem angegebenen iterierbaren Objekt vorhanden sind.
Angenommen, Sie haben eine Liste mit Zahlen und möchten das Quadrat jeder der Zahlen ermitteln.
Um die Ausgabe zu erhalten, benötigen wir die Funktion, die das Quadrat der angegebenen Zahl zurückgibt. Die Funktion wird wie folgt sein:
def square(n):return n*n
Die Liste der Elemente, die das Quadrat finden sollen, lautet wie folgt:
my_list = [2,3,4,5,6,7,8,9]
Verwenden wir nun die in map () python integrierte Funktion, um das Quadrat aller Elemente in my_list zu ermitteln.
Der endgültige Code lautet wie folgt:
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))
Ausgabe:
Die Ausgabe der Funktion map () ist, wie in der Ausgabe dargestellt, ein Kartenobjekt, das auf dem Bildschirm als
Sie müssen die Ausgabe von der Karte mit einer for-Schleife oder mit der list () -Methode iterieren, um die endgültige Ausgabe zu erhalten. Ich habe list () in dem Code verwendet, der die Werte in der angegebenen Liste anzeigt.
Mit der Funktion map () können wir also das Quadrat jeder Zahl ermitteln. Die Liste für die Karte war [2,3,4,5,6,7,8,9] und mit der Funktion square () die Ausgabe von map () haben wir [4, 9, 16, 25, 36, 49, 64, 81].
Die Funktionszuordnung () wendet das Funktionsquadrat () auf alle Elemente in der Liste an. Beispiel: Variable my_list und aktualisiert die Liste mit dem Quadrat jeder Zahl. Das Out wird in der Variablen "update_list" gespeichert.
Verwenden von map () mit integrierten Python-Funktionen
Die Python map () -Funktion ist eine integrierte Funktion und kann auch mit anderen in Python verfügbaren integrierten Funktionen verwendet werden. In diesem Beispiel verwenden wir die in Python round () integrierte Funktion, die die angegebenen Werte rundet.
Beispiel:
Die Liste, die ich habe, ist my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].
Ich benötige die gerundeten Werte für jedes Element in der Liste. Wir werden round () als Funktion für map () verwenden.
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))
Ausgabe:
Die Funktion round () wird auf alle Elemente in der Liste angewendet und gibt eine Liste mit allen gerundeten Werten zurück, wie in der Ausgabe gezeigt.
Verwenden von map () mit einer Zeichenfolge als Iterator
Wir können auch map () für eine Zeichenfolge verwenden. In Python verhält sich eine Zeichenfolge wie ein Array, sodass wir sie problemlos in map () verwenden können.
Im Beispiel haben wir eine Funktion myMapFunc (), die sich um die Konvertierung der angegebenen Zeichenfolge in Großbuchstaben kümmert. Die Funktion myMapFunc () wird an die Funktion map () übergeben. Die Map-Funktion übernimmt die Konvertierung der Zeichenfolge in Großbuchstaben, indem die Zeichenfolge an myMapFunc () übergeben wird.
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)
Ausgabe:
Verwenden von map () mit einer Liste von Zahlen
Um mit der Liste in map () zu arbeiten, wird eine Liste mit Zahlen erstellt und jede Zahl in der Liste mit 10 multipliziert.
Die Liste, die wir verwenden werden, lautet: [2,3,4,5,6,7,8,9]. Die Funktion myMapFunc () sorgt dafür, dass die angegebene Zahl mit 10 multipliziert wird. Die Funktion wird angegeben, um sie zusammen mit der Liste abzubilden.
Beispiel:
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))
Ausgabe:
Die Ausgabe, die wir sehen, ist, dass jede Zahl in der Liste ist
multipliziert mit 10.
Verwenden von map () mit Tuple
Ein Tupel ist ein Objekt in Python, dessen Elemente durch Kommas getrennt und in runden Klammern eingeschlossen sind. Im Beispiel nehmen wir ein Tupel mit Zeichenfolgenwerten. Die Funktion, die wir verwenden, konvertiert die angegebenen Werte in Großbuchstaben.
Beispiel:
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))
Ausgabe:
Die Ausgabe, die wir erhalten, ist ein Tupel zurück, bei dem alle darin enthaltenen Werte in Großbuchstaben konvertiert werden.
Verwenden von map () mit Dictionary
Ein Wörterbuch in Python wird in geschweiften Klammern ({}) erstellt. Da das Wörterbuch ein Iterator ist, können Sie es in der Funktion map () verwenden. Verwenden wir jetzt ein Wörterbuch als Iterator innerhalb der Funktion map ().
Das folgende Beispiel zeigt die Funktionsweise des Wörterbuchiterators in 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))
Ausgabe:
Verwenden von map () mit Set
Set in Python ist eine ungeordnete Sammlung von Elementen in geschweiften Klammern (()). Da set () auch ein Iterator ist, können Sie ihn in der Funktion map () verwenden.
Hier ist ein funktionierendes Beispiel für die Verwendung von set als Iterator in 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))
Ausgabe:
Verwenden von map () mit Lambda-Funktion
In Python werden Lambda-Ausdrücke verwendet, um anonyme Funktionen zu erstellen. Sie müssen das Lambda-Schlüsselwort genauso verwenden, wie Sie def verwenden, um normale Funktionen zu definieren.
Im Beispiel verwenden wir die Lambda-Funktion in map (). Die Lambda-Funktion multipliziert jeden Wert in der Liste mit 10.
Beispiel:
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))
Ausgabe:
Verwenden mehrerer Iteratoren in der Funktion map ()
Beispiel 1: Übergeben von zwei Listeniteratoren an map ()
Sie können mehr als einen Iterator, dh eine Liste, ein Tupel usw. gleichzeitig an die Funktion map () senden.
Zum Beispiel, wenn Sie zwei Listen hinzufügen möchten. Das gleiche kann mit der Funktion map () gemacht werden. Wir werden zwei Listen my_list1 und my_list2 verwenden.
Im folgenden Beispiel wird das erste Element in my_list1 zum ersten Element in my_list2 hinzugefügt. Die Funktion myMapFunc () nimmt Elemente von my_list1 und my_list2 auf und gibt die Summe von beiden zurück.
Hier ist das Arbeitsbeispiel zum Hinzufügen von zwei gegebenen Listen mit der Funktion 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))
Ausgabe:
Beispiel 2: Übergeben eines Tupels und eines Listeniterators an map ()
Wir werden eine Liste und einen Tupeliterator in der Funktion map () verwenden. Die Funktion wird für map angegeben - myMapFunc () ruft die Elemente aus der Liste und dem Tupel ab. Die Elemente werden mit einem Unterstrich (_) verbunden. Das Arbeitsbeispiel ist wie folgt:
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))
Ausgabe:
Zusammenfassung
- Python map () ist eine integrierte Funktion, die eine Funktion auf alle Elemente eines Iterators anwendet, die als Eingabe angegeben werden. Ein Iterator kann beispielsweise eine Liste, ein Tupel, eine Zeichenfolge usw. sein und ein iterierbares Kartenobjekt zurückgeben.
- Die Funktion map () wendet die angegebene Funktion auf alle Elemente im Iterator an und gibt ein iterierbares Kartenobjekt zurück, dh ein Tupel, eine Liste usw.
- Die Python map () -Funktion ist eine integrierte Funktion und kann auch mit anderen in Python verfügbaren integrierten Funktionen verwendet werden.
- Ein Tupel ist ein Objekt in Python, dessen Elemente durch Kommas getrennt und in runden Klammern eingeschlossen sind. Im Beispiel wird ein Tupel mit Zeichenfolgenwerten verwendet. Die Funktion, die wir verwenden, konvertiert die angegebenen Werte in Großbuchstaben.
- Ein Wörterbuch in Python wird in geschweiften Klammern ({}) erstellt. Da das Wörterbuch ein Iterator ist, können Sie es in der Funktion map () verwenden.
- Set in Python ist eine ungeordnete Sammlung von Elementen in geschweiften Klammern (()). Da set () auch ein Iterator ist, können Sie ihn in der Funktion map () verwenden.
- In Python werden Lambda-Ausdrücke (oder Lambda-Formen) verwendet, um anonyme Funktionen zu erstellen. Das Lambda-Schlüsselwort muss also verwendet werden, wenn Sie Lambda in der Karte verwenden möchten ().
- Sie können mehr als einen Iterator, dh eine Liste, ein Tupel an die Funktion map () senden.