Heim >Backend-Entwicklung >Python-Tutorial >Einführung in die Verwendung des speziellen Syntaxfilters, Zuordnens, Reduzierens und Anwendens von Pythont
(1) Lambda
Lambda ist eine sehr nützliche Syntax in Python, mit der Sie schnell eine einzeilige Minimalfunktion definieren können. Ähnlich wie Makros in der Sprache C können sie überall dort eingesetzt werden, wo eine Funktion benötigt wird.
Die grundlegende Syntax lautet wie folgt:
Funktionsname = Lambda args1,args2,...,argsn : Ausdruck
Zum Beispiel:
add = lambda x,y : x + y print add(1,2)
(2) Filter
Die Filterfunktion entspricht einem Filter. Der Funktionsprototyp ist: filter(function , Sequenz), was bedeutet, dass jedes Element in der Sequenzsequenz nacheinander eine Funktion ausführt, wobei Funktion eine Bool-Funktion ist. Beispiel:
sequence = [1,2,3,4,5,6,7,8,9,10] fun = lambda x : x % 2 == 0 seq = filter(fun,sequence) print seq
Der folgende Code stellt das Herausfiltern aller geraden Zahlen nacheinander dar.
Der Filterfunktionsprototyp sieht ungefähr wie folgt aus:
def filter(fun,seq): filter_seq = [] for item in seq: if fun(item): filter_seq.append(item) return filter_seq
(3) Karte
Die Grundform der Karte ist: Karte (Funktion, Sequenz), die die Funktionsfunktion auf die Sequenzsequenz anwendet und dann eine endgültige Ergebnissequenz zurückgibt. Zum Beispiel:
seq = [1,2,3,4,5,6] fun = lambda x : x << 2 print map(fun,seq)
Der Funktionsquellcode von Map lautet ungefähr wie folgt:
def map(fun,seq): mapped_seq = [] for item in seq: mapped_seq.append(fun(item)) return mapped_seq
(4) Reduzieren
Die Form der Reduzierfunktion ist: Reduzieren (Funktion, Sequenz, InitVal), Funktion stellt eine Binärfunktion dar, Sequenz repräsentiert die zu verarbeitende Sequenz und initVal stellt den Anfangswert der Verarbeitung dar. Zum Beispiel:
seq = [1,2,3,4,5,6,7,8,9,10] fun = lambda x,y: x + y print reduce(fun,seq,0)
bedeutet, dass jedes Element in der Sequenz seq beginnend mit dem Anfangswert 0 akkumuliert wird, sodass das Ergebnis 55 ist
Der Quellcode derReduzierungsfunktion lautet ungefähr wie folgt:
def reduce(fun,seq,initVal = None): Lseq = list(seq) if initVal is None: res = Lseq.pop(0) else: res = initVal for item in Lseq: res = fun(seq,item) return res
(5) gelten
Anwenden wird verwendet, um eine Funktion indirekt zu ersetzen, wie zum Beispiel:
def say(a,b): print a,b apply(say,(234,'Hello World!'))
Für weitere Pythont-Spezialsyntaxfilter, Zuordnen, Reduzieren, Anwenden von Verwendungsmethoden, Bitte beachten Sie die entsprechenden Artikel. Folgen Sie der chinesischen PHP-Website!