Sobes.tech
Junior

Kas yra lambda išraiška Python?

sobes.tech AI

Atsakymas iš AI

„Python“ kalboje lambda išraiška yra anonimė funkcija, apibrėžiama naudojant raktinį žodį lambda. Ji turi paprastą sintaksę: lambda arguments: expression.

Pagrindinės savybės:

  • Anonimiškumas: Neturi vardo.
  • Vienoje eilutėje: Turi būti vienoje kodo eilutėje.
  • Tik viena išraiška: Gali turėti tik vieną išraišką, kurios rezultatas grąžinamas.
  • Gali priimti bet kokį argumentų skaičių: Bet tik vieną išraišką.

Naudojimo pavyzdžiai:

# Paprasta lambda funkcija skaičiaus dvigubinimui
double = lambda x: x * 2
# Naudojimas:
# print(double(5)) # Išves 10

# Lambda su keliomis argumentais
add = lambda a, b: a + b
# Naudojimas:
# print(add(3, 7)) # Išves 10

# Lambda naudojimas su aukštesnio lygio funkcijomis
# Pavyzdžiui, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Išves [2, 4, 6]

# Lambda naudojimas su map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Išves [1, 4, 9, 16, 25, 36]

# Lambda naudojimas su sorted() kaip rakto funkcija

data = [{'name': 'Alice', 'age': 30}, {'name': 'Bob', 'age': 25}]
sorted_data_by_age = sorted(data, key=lambda item: item['age'])
# print(sorted_data_by_age) # Išves surūšiuotą sąrašą pagal amžių

Lambda išraiškos yra naudingos mažoms, vienkartinėms funkcijoms, dažnai naudojamoms kartu su aukštesnio lygio funkcijomis (map, filter, sorted). Tačiau sudėtingesniems uždaviniams ar funkcijoms, kurioms reikalinga dokumentacija (docstrings), rekomenduojama naudoti įprastas funkcijas, apibrėžtas naudojant def.