Einführung in die Verwendung des speziellen Syntaxfilters, Zuordnens, Reduzierens und Anwendens von Pythont

高洛峰
Freigeben: 2017-03-07 16:26:39
Original
1526 Leute haben es durchsucht

(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)
Nach dem Login kopieren

(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
Nach dem Login kopieren

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
Nach dem Login kopieren

(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)
Nach dem Login kopieren

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
Nach dem Login kopieren

(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)
Nach dem Login kopieren

bedeutet, dass jedes Element in der Sequenz seq beginnend mit dem Anfangswert 0 akkumuliert wird, sodass das Ergebnis 55 ist

Der Quellcode der

Reduzierungsfunktion 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
Nach dem Login kopieren

(5) gelten

Anwenden wird verwendet, um eine Funktion indirekt zu ersetzen, wie zum Beispiel:

def say(a,b):
    print a,b

apply(say,(234,&#39;Hello World!&#39;))
Nach dem Login kopieren

Für weitere Pythont-Spezialsyntaxfilter, Zuordnen, Reduzieren, Anwenden von Verwendungsmethoden, Bitte beachten Sie die entsprechenden Artikel. Folgen Sie der chinesischen PHP-Website!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!