Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet Karte in Python?

Was bedeutet Karte in Python?

藏色散人
藏色散人Original
2019-07-01 09:27:2030482Durchsuche

Was bedeutet Karte in Python?

Was bedeutet Karte in Python?

Der Prototyp der Kartenfunktion ist map(function, iterable, …), und ihr Rückgabeergebnis ist eine Liste.

Die Parameterfunktion übergibt einen Funktionsnamen, der in Python integriert oder angepasst werden kann.

Der Parameter iterable übergibt ein iterierbares Objekt, beispielsweise eine Liste, ein Tupel oder einen String.

Die Bedeutung dieser Funktion besteht darin, die Funktion auf jedes Element von iterable anzuwenden und das Ergebnis in Form einer Liste zurückzugeben. Ist Ihnen aufgefallen, dass hinter iterable eine Ellipse steht, was bedeutet, dass Sie viele iterable Parameter übergeben können? Wenn zusätzliche iterierbare Parameter vorhanden sind, werden Elemente aus diesen Parametern parallel übernommen und die Funktion aufgerufen. Wenn ein iterierbarer Parameter kürzer als ein anderer iterierbarer Parameter ist, wird das Parameterelement um None erweitert. Schauen wir uns zum Verständnis Beispiele an!

a=(1,2,3,4,5)
b=[1,2,3,4,5]
c="zhangkang"
la=map(str,a)
lb=map(str,b)
lc=map(str,c)
print(la)
print(lb)
print(lc)

Ausgabe:

['1', '2', '3', '4', '5']
['1', '2', '3', '4', '5']
['z', 'h', 'a', 'n', 'g', 'k', 'a', 'n', 'g']

str() ist die integrierte Funktion von Python. Dieses Beispiel konvertiert jedes Element der Liste/des Tupels/der Zeichenfolge in den Typ str und verwendet dann die Formularrückgabe der Liste. Natürlich können wir auch eine benutzerdefinierte Funktion übergeben, siehe Beispiel unten.

def mul(x):
    return x*x
n=[1,2,3,4,5]
res=map(mul,n)

Ausgabe: [1, 4, 9, 16, 25]

Das Ergebnis, das nach einmaligem Ausführen der Mul-Funktion für jedes Element in der Liste n erhalten wird, wird als Element des Finales verwendet Ergebnisliste. Schauen wir uns die Situation mit mehreren iterierbaren Parametern an.

def add(x,y,z):
    return x+y+z
list1=[1,2,3]
list2=[1,2,3]
list3=[1,2,3]
res=map(add,list1,list2,list3)
print(res)

Ausgabe: [3, 6, 9]

Entfernen Sie Elemente aus jeder der drei Listen parallel und führen Sie dann die Additionsfunktion aus. Einige Leute fragen sich vielleicht, was passiert, wenn die Längen der Sind drei Listen unterschiedlich? Ja, wie bereits erwähnt, wird der kurze iterierbare Parameter mit None gefüllt. Wenn im obigen Beispiel list3=[1,2] ist, meldet dieses Programm einen Fehler, denn obwohl das letzte Element von list3 beim Ausführen der Add-Funktion mit None gefüllt wird, können None- und int-Typnummern nicht verglichen werden . Mit anderen Worten: Sofern die Parameterfunktion die Operation „None“ nicht unterstützt, ist sie überhaupt bedeutungslos. Schauen wir uns nun ein anderes Beispiel an und Sie werden

def add(x,y,z):
    return x,y,z
list1 = [1,2,3]
list2 = [1,2,3,4]
list3 = [1,2,3,4,5]
res = map(add, list1, list2, list3)
print(res)

verstehen. Ausgabe:

[(1, 1, 1), (2, 2, 2), (3, 3, 3), (None, 4, 4), (None, None, 5)]

Verwandte Empfehlungen: „Python-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet Karte in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn