Heim >Backend-Entwicklung >Python-Tutorial >Wie funktioniert die „map'-Funktion von Python und wie schneidet sie im Vergleich zum Listenverständnis ab?
In Python ist die Kartenfunktion ein integriertes Werkzeug zum Anwenden einer bestimmten Funktion auf jedes Element in einem bestimmten Iterable. Es gibt eine Liste der Ausgaben der Funktion zurück. Diese Funktion spielt eine wichtige Rolle bei der Erstellung eines kartesischen Produkts, das eine Menge aller möglichen geordneten Elementpaare aus zwei oder mehr Mengen ist.
Betrachten Sie das folgende Beispiel:
content = map(tuple, array)
Hier , die Map-Funktion benötigt zwei Parameter:
Die Ausgabe dieser Kartenoperation ist eine Liste, in der jedes Element eine Tupelversion des entsprechenden Elements in ist das ursprüngliche Array.
Das Einschließen eines Tupels in die Map-Funktion wirkt sich auf folgende Weise auf die Ausgabe aus:
Ohne die Map-Funktion wäre die Ausgabe einfach die Zeichenfolge „abc“, da das Array eine flache Liste von Zeichen ist. Aufgrund der Map-Funktion wird jedoch jedes Zeichen in ein Tupel mit einem Element konvertiert, was zur Ausgabe ["a", "b", "c"] führt.
Um die Funktionalität der Map vollständig zu erfassen , kann es hilfreich sein, es mit Listenverständnissen zu vergleichen, einer beliebten Alternative in Python:
map(f, iterable) is equivalent to [f(x) for x in iterable]
Listenverständnisse gelten im Allgemeinen als pythonischer und vielseitiger, insbesondere für die Erstellung eines kartesischen Produkt:
[(a, b) for a in iterable_a for b in iterable_b]
Diese Syntax generiert eine Liste aller möglichen Paare zwischen Elementen von iterable_a und iterable_b. Der Übersichtlichkeit halber kann es weiter in eine äquivalente verschachtelte Schleifenstruktur unterteilt werden:
result = [] for a in iterable_a: for b in iterable_b: result.append((a, b))
Das obige ist der detaillierte Inhalt vonWie funktioniert die „map'-Funktion von Python und wie schneidet sie im Vergleich zum Listenverständnis ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!