39 / 59

Python Lambda/Anonymous Function

Lambda funksiyasi bilan tanishish

Pythonda, lambda funksiyasi — funksiya nomiga ega bo'lmagan maxsus turdagi funksiya. Masalan,

example.py
lambda : print('Hello World')

Bu yerda, biz 'Hello World'ni chop etuvchi lambda funksiyasini yaratdik.

Lambdalar haqida o'rganishdan oldin, Python Functions haqida bilishingizga ishonch hosil qiling.

Python lambda funksiyasini e'lon qilish

Lambda funksiyasini yaratish uchun def o'rniga lambda kalit so'zidan foydalanamiz. Mana lambda funksiyasini e'lon qilish sintaksisi:

kod
lambda argument(lar) : ifoda 

Bu yerda,

  • argument(lar) - lambda funksiyasiga uzatiladigan har qanday qiymat
  • ifoda - ifoda bajariladi va qaytariladi

Keling, bir misolni ko'ramiz,

example.py
greet = lambda : print('Hello World')

Bu yerda, biz lambda funksiyasini aniqladik va uni greet nomli o'zgaruvchiga berdik.

Bu lambda funksiyasini bajarish uchun, uni chaqirishimiz kerak. Mana lambda funksiyasini qanday chaqirish mumkin

example.py
# lambda'ni chaqirish
greet()

Yuqoridagi lambda funksiyasi shunchaki 'Hello World' matnini chop etadi.

Eslatma: Bu lambda funksiyasi hech qanday argumentga ega emas.

Misol: Python lambda funksiyasi

example.py
# lambda funksiyasini e'lon qilish
greet = lambda : print('Hello World')

# lambda funksiyasini chaqirish
greet()

# Natija: Hello World

Yuqoridagi misolda, biz lambda funksiyasini aniqladik va uni greet o'zgaruvchisiga berdik.

Lambda funksiyasini chaqirganimizda, lambda funksiyasi ichidagi print() operatori bajariladi.

Argumentga ega Python lambda funksiyasi

Oddiy funksiyalar kabi, lambda funksiyasi ham argumentlarni qabul qilishi mumkin. Masalan,

example.py
# bitta argumentni qabul qiluvchi lambda
greet_user = lambda name : print('Hey there,', name)

# lambda chaqiruvi
greet_user('Delilah')

# Natija: Hey there, Delilah

Yuqoridagi misolda, biz lambda funksiyasini greet_user o'zgaruvchisiga berdik.

Bu yerda, lambda kalit so'zidan keyingi name lambda funksiyasi name nomli argumentni qabul qilishini belgilaydi.

Lambda funksiyasining chaqiruviga e'tibor bering,

example.py
greet_user('Delilah')

Bu yerda, biz lambda funksiyamizga 'Delilah' satr qiymatini uzatdik.

Nihoyat, lambda funksiyasi ichidagi operator bajariladi.

Tez-tez so'raladigan savollar

lambda funksiyasini filter() bilan qanday ishlatish mumkin?

Pythondagi filter() funksiyasi funksiya va iterable (ro'yxatlar, kortejlar va satrlar)ni argument sifatida oladi.

Funksiya ro'yxatdagi barcha elementlar bilan chaqiriladi va yangi ro'yxat qaytariladi, unda funksiya True deb baholaydigan elementlar bo'ladi.

Keling, bir misolni ko'ramiz,

example.py
# ro'yxatdan faqat juft elementlarni filtrlovchi dastur
my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(filter(lambda x: (x%2 == 0) , my_list))

print(new_list)

# Natija: [4, 6, 8, 12]

Bu yerda, filter() funksiyasi ro'yxatdan faqat juft sonlarni qaytaradi.

lambda funksiyasini map() bilan qanday ishlatish mumkin?

Pythondagi map() funksiyasi funksiya va iterable (ro'yxatlar, kortejlar va satrlar)ni argument sifatida oladi.

Funksiya ro'yxatdagi barcha elementlar bilan chaqiriladi va yangi ro'yxat qaytariladi, unda o'sha funksiya har bir element uchun qaytargan elementlar bo'ladi.

Keling, bir misolni ko'ramiz,

example.py
# map() yordamida ro'yxatdagi har bir elementni ikki barobarga oshiruvchi dastur

my_list = [1, 5, 4, 6, 8, 11, 3, 12]

new_list = list(map(lambda x: x * 2 , my_list))

print(new_list)

# Natija: [2, 10, 8, 12, 16, 22, 6, 24]

Bu yerda, map() funksiyasi ro'yxatdagi barcha elementlarni ikki barobarga oshiradi.

Ko'proq o'qing: Python List Comprehension

QBilimingizni sinab ko'ring
1 / 3

1. Lambda funksiyasini yaratish uchun qaysi kalit so'z ishlatiladi?