Python

Python-Lambda

Python-Lambda

In diesem Artikel werden wir versuchen, mehr über Python Lambda zu erfahren.

Definition

Lambda ist eine ohne Namen definierte Funktion. Dies kann mehrere Argumente annehmen, aber es ist nur ein Ausdruck zulässig, der ausgewertet und zurückgegeben wird. Wo Funktionsobjekte erforderlich sind, können wir die Lambda-Funktion verwenden.

Syntax:
Lambda-Argumente: Ausdruck

Beispiel 1: Die folgende Funktion wird verwendet, um den Würfel einer Zahl zu berechnen.

def Würfel (a):
zurück a*a*a
drucken(Würfel(3))

Die obige Funktion kann mit Lambda geschrieben werden, wie unten gezeigt:

p = Lambda x : x*x*x
drucken(p(3))

Beispiel 2: Die folgende Funktion wird verwendet, um die Summe zweier Zahlen zu berechnen.

def summe_2(x,y):
Rückgabe x + y
print(sum_2(10,20))

Die obige Funktion kann mit Lambda geschrieben werden, wie unten gezeigt:

p = Lambda x,y : x + y
drucken(p(10,20))

Beispiel 3: Das folgende Beispiel für Lambda benötigt mehrere Argumente.

p = Lambda x, y, z : x + y + z
drucken(p(10, 5, 3))

Beispiel 4: Diese Funktion multipliziert die Zahl mit 2 und kann mit der Lambda-Funktion wie folgt geschrieben werden:

def func(n):
Rückgabe Lambda x : x * n
multiply_by_2 = func(2)
print(multiply_by_2(11))
drucken(multiply_by_2(15))

Beispiel 5: Die Funktion nimmt Funktion als Argument und gibt das Ergebnis zurück.

function_argument = Lambda p, f: p + f(p)
print(function_argument(5, Lambda p: p * p))
print(function_argument(10, Lambda x: x - 3))
print(function_argument(10, Lambda x: x + 5))
print(function_argument(10, Lambda x: x / 5))

Beispiel 6: Im folgenden Beispiel wird Lambda verwendet, um die Werte zu sortieren.

#(Vorname,Nachname,Alter)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
Daten.sort(key=lambda x:x[0])#sortieren nach Namen
Drucken (Daten)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
Daten.sort(key=lambda x:x[1])#sortieren nach Nachnamen
Drucken (Daten)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
Daten.sort(key=lambda x:x[2])#sortieren nach Alter
Drucken (Daten)

Gehen Sie nun in den Python3-Interpreter.

Die Lambda-Funktion wird in vielen eingebauten Methoden verwendet. Nachfolgend einige Beispiele:

1. Karte

Diese Funktion bildet jedes Element der Reihe nach mit der Lambda-Funktion ab.

Syntax:
map(Funktion, seq)

Ex:
Zahlen = [1,2,3,4,5,6]
Hier multiplizieren wir jedes Element in der Liste mit 2.
mul_2 = map(lambda x: x*2, nums)
print(list(mul_2)) # Es gibt ein Kartenobjekt zurück und typisiert es als Liste.

In der obigen Funktion wird jedes Element der Liste an die Lambda-Funktion übergeben und die Lambda-Funktion multipliziert es mit 2.

Zahlen = [1,2,3,4,5,6]
mul_2 = map(lambda x: x*2, nums)
print(list(mul_2))

2. Filter

Diese Funktion filtert alle Elemente einer Liste heraus, für die die Lambda-Funktion True zurückgibt.

Syntax:
filter(funktion, seq)

Ex:
Zahlen = [0,1,2,3,4,5,6,7,8,9,10]
ungerade_nums = filter(lambda x: x % 2, nums)
print(list(odd_nums)) # Es gibt ein Kartenobjekt zurück und typisiert es als Liste.

Zahlen = [0,1,2,3,4,5,6,7,8,9,10]
ungerade_nums = filter(lambda x: x % 2, nums)
print(list(ungerade_nums))

3. Reduzieren

Diese Funktion gibt einen einzelnen Wert zurück, indem sie die Funktion func() auf die seq anwendet.

Syntax:
reduzieren(funktion, seq)

Ex:
Zahlen = [0,1,2,3,4,5,6,7,8,9,10]
Wert = reduzieren(Lambda x,y: x+y, Nums)
print(Wert)

In der obigen Liste nimmt es die ersten 2 Elemente und führt eine Addition durch. Das Ergebnis einer Addition wird dem dritten Element hinzugefügt und so weiter. Schließlich wird ein einzelner Wert zurückgegeben.

Hinweis: Diese Methode ist in der Python3+-Version nicht verfügbar.

Zahlen = [0,1,2,3,4,5,6,7,8,9,10]
Wert = reduzieren(Lambda x,y: x+y, Nums)
print(Wert)

Fazit

Aus diesem Artikel haben wir viele Aspekte der Lambda-Funktion gelernt. Je nachdem, was das Programm benötigt, können wir es verwenden und eine bessere Python-Codierung machen. Dies wird am häufigsten verwendet, um Argumente an eine andere Funktion zu übergeben (zum Beispiel haben wir die obigen Funktionen Map, Filter und Reduce gesehen).

Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...
Installieren Sie den neuesten Dolphin Emulator für Gamecube & Wii unter Linux
Mit dem Dolphin Emulator können Sie Ihre ausgewählten Gamecube- und Wii-Spiele auf Linux-Personalcomputern (PC) spielen. Als frei verfügbarer Open-So...
So verwenden Sie die GameConqueror-Cheat-Engine unter Linux
Der Artikel enthält eine Anleitung zur Verwendung der GameConqueror-Cheat-Engine unter Linux. Viele Benutzer, die Spiele unter Windows spielen, verwen...