Sobes.tech
Junior

Pythonда lambda билдирүүсү эмне?

sobes.tech AI

AIден жооп

Python-да lambda билдирүүсү — бул анонимдүү функция, ал 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]

# map() менен lambda колдонуу
squared_numbers = list(map(lambda x: x**2, numbers))
# print(squared_numbers) # Натыйжасы [1, 4, 9, 16, 25, 36]

# sorted() функциясында ачкыч катары lambda колдонуу

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) колдонулат. Бирок, көбүрөөк кыйынчылыктагы иштер же документацияны талап кылган функциялар үчүн, def аркылуу аныкталган жөнөкөй функцияларды колдонуу сунушталат.