Python map()-Funktion mit Beispielen
⚡ Intelligente Zusammenfassung
Python Die Funktion `map()` wendet eine gegebene Funktion auf jedes Element eines iterierbaren Objekts wie einer Liste, einem Tupel, einer Menge, einem Wörterbuch oder einem String an. Sie gibt ein verzögert geladenes `map`-Objekt zurück, das Sie mit `list()` konvertieren oder mithilfe einer Schleife durchlaufen können.

Syntax
map(function, iterator1,iterator2 ...iteratorN)
Kenngrößen
Hier sind zwei wichtige Parameter:
- Funktion: Eine obligatorische Funktion, die an map() übergeben werden muss und auf alle im Iterator verfügbaren Elemente angewendet wird.
- Iterator: Ein obligatorisches iterierbares Objekt. Dies kann eine Liste, ein Tupel usw. sein. Sie können mehrere Iteratorobjekte an die map()-Funktion übergeben.
Rückgabewert
Die map()-Funktion wendet die angegebene Funktion auf alle Elemente innerhalb des Iterators an und gibt ein iterierbares Map-Objekt zurück, z. B. ein Tupel, eine Liste usw.
Wie funktioniert die Funktion map()?
Die Funktion `map()` benötigt zwei Eingaben: eine Funktion und ein iterierbares Objekt. Die an `map()` übergebene Funktion ist eine normale Funktion, die alle im iterierbaren Objekt vorhandenen Werte durchläuft.
Angenommen, Sie haben eine Liste mit Zahlen und möchten das Quadrat jeder dieser Zahlen ermitteln.
Um das Ergebnis zu erhalten, benötigen wir eine Funktion, die das Quadrat der gegebenen Zahl zurückgibt. Die Funktion lautet wie folgt:
def square(n): return n*n
Die Liste der Elemente, für die wir das Quadrat finden möchten, lautet wie folgt:
my_list = [2,3,4,5,6,7,8,9]
Nun verwenden wir die eingebaute Funktion map(), um das Quadrat jedes Elements in my_list zu erhalten.
Der endgültige Code lautet wie folgt:
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))
Ausgang:
<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]
Die Ausgabe der map()-Funktion ist, wie oben gezeigt, ein Kartenobjekt, das auf dem Bildschirm angezeigt wird als Die
Um die endgültige Ausgabe zu erhalten, müssen Sie die Ausgabe von `map()` mithilfe einer `for`-Schleife oder der `list()`-Methode durchlaufen. Im Code habe ich `list()` verwendet, um die Werte innerhalb der gegebenen Liste anzuzeigen.
Mithilfe der map()-Funktion können wir das Quadrat jeder Zahl berechnen. Die Liste, die map() übergeben wurde, war [2,3,4,5,6,7,8,9], und mit der Funktion square() erhielten wir als Ergebnis [4, 9, 16, 25, 36, 49, 64, 81].
Die Funktion `map()` wendet die Funktion `square()` auf alle Elemente der Liste an. Beispielsweise wird die Variable `my_list` verwendet, um die Liste um das Quadrat jeder Zahl zu aktualisieren. Das Ergebnis wird in der Variable `updated_list` gespeichert.
Verwenden von map() mit Python eingebaute Funktionen
Das Python Die Funktion map() ist eine integrierte Funktion und kann auch mit anderen integrierten Funktionen verwendet werden, die in PythonIn diesem Beispiel werden wir die Python round() ist eine eingebaute Funktion, die die angegebenen Werte rundet.
Ejemplo:
Meine Liste 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. Daher verwenden wir die Funktion `round()` anstelle von `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))
Ausgang:
<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]
Die Funktion round() wird auf alle Elemente in der Liste angewendet und gibt eine Liste zurück, in der alle Werte gerundet sind, wie in der Ausgabe gezeigt.
Verwendung von map() mit einem String als Iterator
Wir können map() auch auf einen String anwenden. PythonEin String verhält sich wie ein Array, daher können wir ihn problemlos innerhalb von map() verwenden.
In diesem Beispiel haben wir eine Funktion `myMapFunc()`, die die Umwandlung einer gegebenen Zeichenkette in Großbuchstaben übernimmt. Die Funktion `myMapFunc()` wird der Funktion `map()` übergeben. Die Funktion `map()` wandelt die Zeichenkette in Großbuchstaben um, indem sie sie an `myMapFunc()` weitergibt.
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="")
Ausgang:
<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!
Verwendung von map() mit einer Liste von Numbers
Um mit einer Liste in map() zu arbeiten, nehmen wir eine Liste von Zahlen und multiplizieren jede Zahl in der Liste mit 10.
Die Liste, die wir verwenden werden, ist [2, 3, 4, 5, 6, 7, 8, 9]. Die Funktion `myMapFunc()` multipliziert die gegebene Zahl mit 10. Die Funktion wird zusammen mit der Liste an `map()` übergeben.
Ejemplo:
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))
Ausgang:
<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]
Das Ergebnis ist, dass jede Zahl in der Liste mit 10 multipliziert wird.
Verwenden von map() mit Tuple
Ein Tupel ist ein Objekt in Python Die Elemente sind durch Kommas getrennt und in runde Klammern eingeschlossen. In diesem Beispiel verwenden wir ein Tupel mit Zeichenkettenwerten. Die verwendete Funktion wandelt die Werte in Großbuchstaben um.
Ejemplo:
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))
Ausgang:
<map object at 0x0000009C3C3A16A0> ['PHP', 'JAVA', 'PYTHON', 'C++', 'C']
Die Ausgabe, die wir erhalten, ist ein Tupel, in dem alle Werte in Großbuchstaben umgewandelt sind.
Verwenden von map() mit Dictionary
A Wörterbuch in Python Ein Dictionary wird mithilfe von geschweiften Klammern ({}) erstellt. Da es sich um einen Iterator handelt, kann er innerhalb der Funktion `map()` verwendet werden. Betrachten wir nun die Verwendung eines Dictionarys als Iterator in `map()`.
Das folgende Beispiel veranschaulicht die Funktionsweise eines Dictionary-Iterators innerhalb von 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))
Ausgang:
<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]
Verwenden von map() mit Set
Ein Set in Python `set()` ist eine ungeordnete Sammlung von Elementen in geschweiften Klammern ({}). Da `set()` ebenfalls ein Iterator ist, kann man es innerhalb der Funktion `map()` verwenden.
Hier ist ein funktionierendes Beispiel für die Verwendung eines Sets als Iterator innerhalb von 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))
Ausgang:
<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]
Verwenden von map() mit der Lambda-Funktion
In Pythonwerden Lambda-Ausdrücke verwendet, um anonyme Funktionen zu konstruieren. Sie müssen das Schlüsselwort lambda genauso verwenden, wie Sie def verwenden, um normale Funktionen zu definieren.
In diesem Beispiel verwenden wir also die Lambda-Funktion innerhalb von map(). Die Lambda-Funktion multipliziert jeden Wert in der Liste mit 10.
Ejemplo:
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))
Ausgang:
<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]
Verwendung mehrerer Iteratoren innerhalb der map()-Funktion
Beispiel 1: Übergabe zweier Listeniteratoren an map()
Sie können mehrere Iteratoren, z. B. eine Liste, ein Tupel usw., gleichzeitig an die map()-Funktion senden.
Wenn Sie beispielsweise zwei Listen addieren möchten, können Sie dies mit der Funktion `map()` tun. Wir verwenden dazu zwei Listen: `my_list1` und `my_list2`.
Im folgenden Beispiel wird das erste Element von my_list1 zum ersten Element von my_list2 addiert. Die Funktion myMapFunc() nimmt Elemente von my_list1 und my_list2 entgegen und gibt die Summe beider zurück.
Hier ist ein praktisches Beispiel für die Addition zweier gegebener Listen mithilfe der map()-Funktion.
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))
Ausgang:
<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]
Beispiel 2: Übergabe eines Tupels und eines Listeniterators an map()
Wir verwenden in der `map()`-Funktion einen Listen- und einen Tupel-Iterator. Die an `map()` übergebene Funktion `myMapFunc()` ruft die Elemente aus der Liste und dem Tupel ab. Die Elemente werden mit einem Unterstrich (_) verbunden. Ein praktisches Beispiel ist unten dargestellt:
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))
Ausgang:
<map object at 0x00000059F37BB4E0> ['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']
