Funkcja Python Lambda (anonimowa)

W tym artykule dowiesz się o funkcji anonimowej, znanej również jako funkcje lambda. Dowiesz się, czym one są, ich składnią i jak ich używać (z przykładami).

Co to są funkcje lambda w Pythonie?

W Pythonie funkcja anonimowa to funkcja zdefiniowana bez nazwy.

Podczas gdy normalne funkcje są definiowane za pomocą defsłowa kluczowego w Pythonie, funkcje anonimowe są definiowane za pomocą lambdasłowa kluczowego.

Dlatego funkcje anonimowe są również nazywane funkcjami lambda.

Jak używać funkcji lambda w Pythonie?

Funkcja lambda w Pythonie ma następującą składnię.

Składnia funkcji Lambda w Pythonie

 argumenty lambda: wyrażenie

Funkcje lambda mogą mieć dowolną liczbę argumentów, ale tylko jedno wyrażenie. Wyrażenie jest oceniane i zwracane. Funkcji lambda można używać wszędzie tam, gdzie wymagane są obiekty funkcji.

Przykład funkcji Lambda w Pythonie

Oto przykład funkcji lambda, która podwaja wartość wejściową.

 # Program to show the use of lambda functions double = lambda x: x * 2 print(double(5))

Wynik

 10

W powyższym programie lambda x: x * 2jest funkcja lambda. Tutaj x jest argumentem i x * 2jest wyrażeniem, które jest obliczane i zwracane.

Ta funkcja nie ma nazwy. Zwraca obiekt funkcji, który jest przypisany do identyfikatora double. Możemy teraz nazwać to normalną funkcją. Twierdzenie

 double = lambda x: x * 2

jest prawie taki sam jak:

 def double (x): powrót x * 2

Zastosowanie funkcji Lambda w Pythonie

Funkcji lambda używamy, gdy potrzebujemy funkcji bez nazwy przez krótki czas.

W Pythonie generalnie używamy go jako argumentu funkcji wyższego rzędu (funkcji, która przyjmuje inne funkcje jako argumenty). Funkcje lambda są używane wraz z funkcjami wbudowanymi filter(), takimi jak map()itp.

Przykładowe użycie z filtrem ()

filter()Funkcja w Pythonie odbywa się w funkcji i listy jako argumenty.

Funkcja jest wywoływana ze wszystkimi pozycjami na liście i zwracana jest nowa lista zawierająca elementy, dla których obliczana jest funkcja True.

Oto przykład użycia filter()funkcji do odfiltrowywania tylko liczb parzystych z listy.

 # Program to filter out only the even items from a list my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(filter(lambda x: (x%2 == 0) , my_list)) print(new_list)

Wynik

 (4, 6, 8, 12)

Przykładowe użycie z map ()

map()Funkcja w Pythonie odbywa się w funkcji i listy.

Funkcja jest wywoływana ze wszystkimi pozycjami na liście i zwracana jest nowa lista zawierająca elementy zwrócone przez tę funkcję dla każdego elementu.

Oto przykład użycia map()funkcji do podwojenia wszystkich pozycji na liście.

 # Program to double each item in a list using map() my_list = (1, 5, 4, 6, 8, 11, 3, 12) new_list = list(map(lambda x: x * 2 , my_list)) print(new_list)

Wynik

 (2, 10, 8, 12, 16, 22, 6, 24)

Interesujące artykuły...