🐍

Functii Lambda

Programare Python Intermediar 1 min citire 0 cuvinte

Functii Lambda

Ce sunt Functiile Lambda?

Functiile lambda sunt functii anonime, definite intr-o singura expresie.

Sintaxa

lambda parametri: expresie

Exemple de Baza

# Functie normala
def aduna(a, b):
    return a + b

# Echivalent lambda
aduna = lambda a, b: a + b
print(aduna(3, 5))  # 8

# Mai multe exemple
patrat = lambda x: x ** 2
print(patrat(4))  # 16

salut = lambda nume: f"Salut, {nume}!"
print(salut("Ana"))  # Salut, Ana!

Folosire cu sorted()

studenti = [("Ana", 20), ("Bob", 18), ("Cris", 22)]

# Sortare dupa varsta
sortat = sorted(studenti, key=lambda s: s[1])
# [('Bob', 18), ('Ana', 20), ('Cris', 22)]

# Sortare dupa lungimea numelui
sortat = sorted(studenti, key=lambda s: len(s[0]))
# [('Ana', 20), ('Bob', 18), ('Cris', 22)]

Folosire cu map(), filter()

numere = [1, 2, 3, 4, 5]

# Dublare cu map
duble = list(map(lambda x: x * 2, numere))
# [2, 4, 6, 8, 10]

# Filtrare pare
pare = list(filter(lambda x: x % 2 == 0, numere))
# [2, 4]

Limitari Lambda

  • O singura expresie (nu blocuri)
  • Fara statements (if/for/while)
  • Fara docstrings
  • Dificil de depanat
# GRESIT - nu poti face asta
# f = lambda x: if x > 0: return x

# CORECT - expresie conditionala
f = lambda x: x if x > 0 else 0

Cand sa Folosesti Lambda

Da:

  • Functii simple, de o linie
  • Ca argument pentru sorted(), map(), filter()
  • Expresii scurte

Nu:

  • Logica complexa
  • Cand ai nevoie de documentatie
  • Cand o reutilizezi in mai multe locuri

Puncte Cheie pentru Examen

  • Sintaxa: lambda params: expresie
  • Returneaza automat rezultatul expresiei
  • Utile cu sorted(key=...), map(), filter()
  • O singura expresie, nu blocuri de cod

📚 Articole Corelate