Pyton

Python Lambda

Python Lambda

W tym artykule postaramy się poznać Python Lambda.

Definicja

Lambda to funkcja zdefiniowana bez nazwy. Może to przyjmować wiele argumentów, ale dozwolone jest tylko jedno wyrażenie, które jest oceniane i zwracane. Tam, gdzie wymagane są obiekty funkcyjne, możemy użyć funkcji lambda.

Składnia:
argumenty lambda: wyrażenie

Przykład 1: Poniższa funkcja służy do obliczania sześcianu liczby.

def kostka(a):
zwróć a*a*a
drukuj(kostka(3))

Powyższą funkcję można zapisać za pomocą lambdy, jak pokazano poniżej:

p = lambda x : x*x*x
drukuj(p(3))

Przykład 2: Poniższa funkcja służy do obliczania sumy dwóch liczb.

def suma_2(x,y):
zwróć x + y
drukuj(suma_2(10,20))

Powyższą funkcję można zapisać za pomocą lambdy, jak pokazano poniżej:

p = lambda x,y : x + y
drukuj(p(10,20))

Przykład 3: Poniższy przykład dla lambda przyjmuje wiele argumentów.

p = lambda x, y, z : x + y + z
drukuj(p(10, 5, 3))

Przykład 4: Ta funkcja mnoży liczbę przez 2 i może być zapisana za pomocą funkcji Lambda jak poniżej:

funkcja(n):
zwróć lambda x : x * n
pomnóż_przez_2 = func(2)
drukuj(pomnóż_przez_2(11))
drukuj(pomnóż_przez_2(15))

Przykład 5: Funkcja przyjmuje funkcję jako argument i zwraca wynik.

argument_funkcji = lambda p, f: p + f(p)
print(funkcja_argument(5, lambda p: p * p))
print(funkcja_argument(10, lambda x: x - 3))
print(funkcja_argument(10, lambda x: x + 5))
print(funkcja_argument(10, lambda x:x/5))

Przykład 6: W poniższym przykładzie lambda służy do sortowania wartości.

#(imię,nazwisko,wiek)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
dane.sort(key=lambda x:x[0])#sortuj według nazwy
drukuj(dane)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
dane.sort(key=lambda x:x[1])#sortuj według nazwiska
drukuj(dane)
data = [("Sachin", "Tendulkar", "42"), ("Rahul", "Dravid", "44"), ("Virendra", "Sehwag", "40")]
dane.sort(key=lambda x:x[2])#sortuj na podstawie wieku
drukuj(dane)

Teraz przejdź do interpretera python3.

Funkcja lambda jest używana w wielu wbudowanych metodach. Oto kilka przykładów:

1. Mapa

Ta funkcja mapuje każdy element po kolei za pomocą funkcji lambda.

Składnia:
mapa(funkcja, nast.)

Dawny:
liczba = [1,2,3,4,5,6]
Tutaj pomnożymy każdy element z listy przez 2.
mul_2 = mapa(lambda x: x*2, liczebniki)
print(list(mul_2)) # Zwraca obiekt mapy i rzutuje go na listę.

W powyższej funkcji każdy element listy jest przekazywany do funkcji lambda a funkcja lambda pomnoży go przez 2.

liczba = [1,2,3,4,5,6]
mul_2 = mapa(lambda x: x*2, liczebniki)
drukuj(lista(mul_2))

2. Filtr

Ta funkcja odfiltrowuje wszystkie elementy listy, dla których funkcja lambda zwraca True.

Składnia:
filtr(funkcja, nast.)

Dawny:
liczba = [0,1,2,3,4,5,6,7,8,9,10]
liczby nieparzyste = filtr(lambda x: x % 2, liczby)
print(list(odd_nums)) # Zwraca obiekt mapy i rzutuje go na listę.

liczba = [0,1,2,3,4,5,6,7,8,9,10]
liczby nieparzyste = filtr(lambda x: x % 2, liczby)
print(lista(liczba_nieparzystych))

3. Zmniejszyć

Ta funkcja zwraca pojedynczą wartość przez zastosowanie funkcji func() do seq.

Składnia:
zmniejsz(funkcja, nast.)

Dawny:
liczba = [0,1,2,3,4,5,6,7,8,9,10]
wartość = zmniejsz(lambda x,y: x+y, liczebniki)
drukuj(wartość)

Na powyższej liście weźmie pierwsze 2 elementy i wykona dodawanie. Wynik dodawania zostanie dodany do trzeciego elementu i tak dalej. Wreszcie zwróci pojedynczą wartość.

Uwaga: ta metoda nie jest dostępna w wersji python3+.

liczba = [0,1,2,3,4,5,6,7,8,9,10]
wartość = zmniejsz(lambda x,y: x+y, nums)
drukuj(wartość)

Wniosek

Z tego artykułu dowiedzieliśmy się o wielu aspektach funkcji lambda. W zależności od tego, czego potrzebuje program, możemy go użyć i lepiej kodować w Pythonie. Jest to najczęściej używane do przekazywania argumentów do innej funkcji (na przykład widzieliśmy powyżej funkcje mapowania, filtrowania i zmniejszania).

Gry Najlepsze emulatory konsoli do gier dla systemu Linux
Najlepsze emulatory konsoli do gier dla systemu Linux
W tym artykule wymienimy popularne oprogramowanie do emulacji konsoli do gier dostępne dla systemu Linux. Emulacja to warstwa kompatybilności oprogram...
Gry Najlepsze dystrybucje Linuksa do gier w 2021 r
Najlepsze dystrybucje Linuksa do gier w 2021 r
System operacyjny Linux przeszedł długą drogę od pierwotnego, prostego, serwerowego wyglądu. Ten system operacyjny znacznie się poprawił w ostatnich l...
Gry Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
Jak przechwytywać i przesyłać strumieniowo sesję gry w systemie Linux
W przeszłości granie w gry było uważane tylko za hobby, ale z czasem branża gier odnotowała ogromny wzrost pod względem technologii i liczby graczy. P...