Treci la conținutul principal

Gândește-te la o funcție lambda ca la o funcție mică, fără nume.

Poate primi oricâte argumente vrei, dar corpul ei se limitează la o singură expresie.


Sintaxă

Python evaluează expresia și returnează rezultatul.

Exemplu

Returnează argumentul a plus 10:

Prompt
Scrie un program Python care creează o funcție lambda ce adună 10 la argumentul său. Apelează funcția lambda cu valoarea 5 și afișează rezultatul.
Ieșire: program Python complet

Exemplu

Returnează produsul argumentelor a și b:

Prompt
Scrie un program Python care creează o funcție lambda ce înmulțește două argumente între ele. Apelează funcția lambda cu 5 și 6 și afișează rezultatul.
Ieșire: program Python complet

Exemplu

Returnează suma argumentelor a, b și c:

Prompt
Scrie un program Python care creează o funcție lambda ce adună trei argumente. Apelează funcția lambda cu 5, 6 și 2 și afișează rezultatul.
Ieșire: program Python complet
main.py
lambda arguments : expression

De ce să folosim funcții lambda?

Funcțiile lambda dau cel mai bun rezultat când sunt folosite ca funcții anonime în interiorul altei funcții.

Imaginează-ți o funcție cu un singur parametru, iar funcția lambda pe care o returnează înmulțește cu acel parametru un număr pe care încă nu l-ai furnizat.

Exemplu

Prompt
Scrie un program Python care definește o funcție myfunc(n) ce returnează o funcție lambda care înmulțește argumentul său cu n. Folosește myfunc pentru a crea o funcție doubler (n=2), apoi afișează rezultatul apelării ei cu 11.
Ieșire: program Python complet

Exemplu

Prompt
Scrie un program Python care definește o funcție myfunc(n) ce returnează o funcție lambda care înmulțește argumentul său cu n. Folosește myfunc pentru a crea o funcție tripler (n=3), apoi afișează rezultatul apelării ei cu 11.
Ieșire: program Python complet

Exemplu

Prompt
Scrie un program Python care definește o funcție myfunc(n) ce returnează o funcție lambda care înmulțește argumentul său cu n. Creează atât un doubler (n=2), cât și un tripler (n=3), apoi afișează rezultatele apelării fiecăruia cu 11.
Ieșire: program Python complet

Lambda cu funcții predefinite

Vei vedea des funcții lambda transmise unor funcții predefinite precum map(), filter() și sorted().

Exemplu

Înmulțește cu doi fiecare număr dintr-o listă:

Prompt
Scrie un program Python care folosește map() cu o funcție lambda pentru a dubla toate numerele din lista [1, 2, 3, 4, 5]. Afișează lista rezultată.
Ieșire: program Python complet

Exemplu

Păstrează doar numerele impare dintr-o listă:

Prompt
Scrie un program Python care folosește filter() cu o funcție lambda pentru a obține toate numerele impare din [1, 2, 3, 4, 5, 6, 7, 8]. Afișează lista rezultată.
Ieșire: program Python complet

Exemplu

Ordonează o listă de tupluri după al doilea element:

Prompt
Scrie un program Python care sortează o listă de tupluri [("Emil", 25), ("Tobias", 22), ("Linus", 28)] după al doilea element, folosind sorted() cu o cheie lambda. Afișează lista sortată.
Ieșire: program Python complet

Exemplu

Ordonează șirurile de la cel mai scurt la cel mai lung:

Prompt
Scrie un program Python care sortează lista ["apple", "pie", "banana", "cherry"] după lungimea șirurilor, folosind sorted() cu o cheie lambda. Afișează lista sortată.
Ieșire: program Python complet