Sobes.tech
Junior

რა არის ლამბდა გამოთქმა Python-ში?

sobes.tech AI

პასუხი AI-სგან

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()-ში key-ის სახით

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-ით.