Ich glaube, jeder weiß, was anonym bedeutet, dass wir beim Schreiben eines Programms keinen Namen haben. Derzeit können wir anonyme Funktionen verwenden.
Lassen Sie uns die einfache Verwendung der Lambda-Funktion vorstellen. Die Variable m ist der Wert, den wir eingeben. Wir müssen eine anonyme Funktion verwenden, um die Summe der Quadrate von m zurückzugeben Wert ist 4.
Der Code lautet wie folgt:
m=int(input('Bitte geben Sie eine Zahl ein:'))#m ist der Eingabewert a=lambdax:x*x#Verwenden Sie die Variable a, um einen Ausdruck zu bilden print('Der Rückgabewert ist:',a(m) )
Die Ausgabe ist:
Bitte geben Sie eine Zahl ein: 6. Der Rückgabewert ist: 36
Schauen wir uns die Struktur anhand der folgenden Abbildung an:
Lassen Sie uns eine anonyme Funktion anhand eines Beispiels verwenden:
m=int(input('Bitte geben Sie eine Zahl ein:'))#m ist der Eingabewert a=lambdax:x+10*10+x*xprint('Der Rückgabewert ist:',a(m))
Die Ausgabe ist:
Bitte geben Sie eine Zahl ein: 5. Der Rückgabewert ist: 130
Aus den beiden obigen Beispielen können wir verstehen, dass der Lambda-Ausdruck dem Komprimieren der Funktion in eine Codezeile und dem anschließenden Aufruf der Funktion direkt über die Definition der Variablen entspricht. Diese Methode kann unseren Code vereinfachen.
Wir können auch anonyme Funktionen in Sequenzen verwenden. Die Verwendung anonymer Funktionen kann uns dabei helfen, Daten schnell zu filtern.
Es ist bekannt, dass eine Liste [1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99] ist. Wir müssen die geraden Zahlen darin zurückgeben und speichern Sie sie in der Liste unter.
Wir können die Filterfunktion zum Filtern verwenden.
Der Code lautet wie folgt:
my_list=[1,4,6,9,12,23,25,28,36,38,41,56,63,77,88,99]print(list(filter(lambdax:x%2==0, meine_liste)))
Die Ausgabe ist:
[4,6,12,28,36,38,56,88]
Wir analysieren diesen Ausdruck von innen nach außen. Das erstere Objekt in der Funktion filter() ist unsere Filtermethode, und das letztere ist das Objekt, das wir filtern möchten. Dann speichern wir diese Daten in der Liste mit der Funktion list() . und schließlich ausdrucken. Diese Methode kann uns helfen, Daten schnell zu integrieren.
Wir können beim Sortieren auch Regeln durch anonyme Funktionen formulieren.
Erstens wissen wir, dass eine Reihe von Listen [('Tupel A',15,33), ('Tupel B',25,26), ('Tupel C',7,7)] ist Das Element enthält den Namen jedes Tupels sowie die Mindest- und Höchstwerte. Wir müssen die Liste nach der Differenz zwischen den Höchst- und Mindestwerten der einzelnen Tupel sortieren.
my_list=[('Tupel A',15,33),('Tupel B',25,26),('Tupel C',7,7)]my_list.sort(key=lambdax:x[2 ]-x [1])#Verwenden Sie das Schlüsselwort key, um die Sortiermethode einzuführen. Die Sortiermethode basiert auf der Differenz zwischen dem dritten Element und dem zweiten Element. Die entsprechenden Indizes sind 2 und 1print(my_list).
Die Ausgabestruktur ist:
[('Tupel C',7,7),('Tupel B',25,26),('Tupel A',15,33)]
Wir können zunächst eine einfache Berechnung durchführen. Ihre Differenzen betragen jeweils 18, 1 und 0, daher sollte ihre Reihenfolge C, B und A sein. Das Rückgabeergebnis x[2]-x[1] im Lambda-Ausdruck erhalten wir deren Unterschied und sortieren Sie dann nach dem Unterschied.
Anonyme Funktionen sind besonders wichtig beim Filtern von Daten. Gleichzeitig können sie unseren Code optimieren und den gesamten Code prägnanter gestalten Im Abschnitt lernen wir die drei Grundfunktionen in Funktionen kennen.