(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!