Sobes.tech
Junior

Какво е лямбда израз в Python?

sobes.tech AI

Отговор от AI

Изразът lambda в Python е анонимна функция, дефинирана с ключовата дума lambda. Той има прост синтаксис: lambda arguments: expression.

Основни характеристики:

  • Анонимен: Няма име.
  • В една линия: Трябва да бъде в една редица код.
  • Само едно изразяване: Може да съдържа само едно изразяване, чийто резултат се връща.
  • Може да приема всяко количество аргументи: Но само едно изразяване.

Примери за използване:

# Прост lambda израз за удвояване на число
double = lambda x: x * 2
# Използване:
# print(double(5)) # Ще изведе 10

# Lambda израз с няколко аргумента
add = lambda a, b: a + b
# Използване:
# print(add(3, 7)) # Ще изведе 10

# Използване на lambda с функции от по-висок ред
# Например, filter()
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
# print(even_numbers) # Ще изведе [2, 4, 6]

# Използване на lambda с map()
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Ще изведе [1, 4, 9, 16, 25, 36]

# Използване на lambda като аргумент за ключ в sorted()
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) # Ще изведе сортиран списък по възраст

Lambda изразите са полезни за малки, еднократни функции, често използвани в комбинация с функции от по-висок ред (map, filter, sorted). Въпреки това, за по-сложни задачи или функции, които изискват документация (docstrings), се препоръчва използването на обикновени функции, дефинирани с def.