⬅️ Bosh sahifaga
🐍

Python Lambda Functions

Tushuncha, real hayotdagi misollar

Assalomu alaykum, yosh dasturchilar! 😊

Bugun biz Python'da lambda funksiyalar haqida o'rganamiz

⏱️ Dars davomiyligi: 2 soat (120 daqiqa)

📅 Dars rejasi

🤔 Lambda funksiyalar nima?

🔤 Oddiy funksiya

def yigindi(a, b): return a + b print(yigindi(3, 4)) # 7

⚡ Lambda funksiya

yigindi_lambda = lambda a, b: a + b print(yigindi_lambda(3, 4)) # 7

Lambda funksiyalar - bu anonim (nomsiz) funksiyalar

📝 Lambda sintaksisi

lambda argumentlar: ifoda

Oddiy misol

kvadrat = lambda x: x ** 2 print(kvadrat(5)) # 25

To'g'ridan-to'g'ri ishlatish

print((lambda x: x * 2)(5)) # 10

Mashq: lambda x, y: x - y funksiyasini yaratib, (10, 4) argumentlari bilan chaqiring

⏰ 5 daqiqa vaqt!

🗺️ map() bilan ishlatish

Ro'yxatdagi har bir elementga bir xil amal qo'llash uchun:

sonlar = [1, 2, 3, 4] natija = list(map(lambda x: x * 2, sonlar)) print(natija) # [2, 4, 6, 8]

🧮 Boshqa misollar:

# Kvadratga oshirish kvadratlar = list(map(lambda x: x**2, [1, 2, 3, 4])) print(kvadratlar) # [1, 4, 9, 16] # Matnlarni katta harflarga o'tkazish ismlar = ["ali", "zilola", "sardor"] katta_harflar = list(map(lambda x: x.upper(), ismlar)) print(katta_harflar) # ['ALI', 'ZILOLA', 'SARDOR']

🔍 filter() bilan ishlatish

Shart bo'yicha elementlarni saralash uchun:

sonlar = [1, 2, 3, 4, 5, 6] juft_sonlar = list(filter(lambda x: x % 2 == 0, sonlar)) print(juft_sonlar) # [2, 4, 6]

Musbat sonlar

sonlar = [-2, -1, 0, 1, 2] musbat = list(filter(lambda x: x > 0, sonlar)) print(musbat) # [1, 2]

Uzun so'zlar

sozlar = ["salom", "dunyo", "hi", "hello"] uzun_sozlar = list(filter(lambda x: len(x) > 3, sozlar)) print(uzun_sozlar) # ['salom', 'dunyo', 'hello']

📊 sorted() bilan tartiblash

talabalar = [("Ali", 85), ("Zilola", 92), ("Sardor", 78)] tartiblangan = sorted(talabalar, key=lambda x: x[1]) print(tartiblangan) # [('Sardor', 78), ('Ali', 85), ('Zilola', 92)]

🏆 Teskari tartibda (eng yaxshidan)

eng_yaxshi = sorted(talabalar, key=lambda x: x[1], reverse=True) print(eng_yaxshi) # [('Zilola', 92), ('Ali', 85), ('Sardor', 78)]

key=lambda x: x[1] - ikkinchi elementga qarab tartiblash

🎓 Real hayot misoli: Talabalar ro'yxati

talabalar = [ {"ism": "Ali", "ball": 85}, {"ism": "Zilola", "ball": 92}, {"ism": "Sardor", "ball": 78} ] # Ball bo'yicha tartiblash (eng yaxshidan) tartiblangan = sorted(talabalar, key=lambda x: x["ball"], reverse=True) print(tartiblangan)

📊 Natija:

[ {'ism': 'Zilola', 'ball': 92}, {'ism': 'Ali', 'ball': 85}, {'ism': 'Sardor', 'ball': 78} ]

💡 O'quv markazlarida talabalarni baholar bo'yicha tartiblashda ishlatiladi

🛒 Real hayot misoli: Chegirmalar

narxlar = [10000, 20000, 30000, 40000] chegirma = 0.1 # 10% chegirma yangi_narxlar = list(map(lambda x: x * (1 - chegirma), narxlar)) print(yangi_narxlar) # [9000.0, 18000.0, 27000.0, 36000.0]

💰 Turli chegirmalar

# 20% chegirma katta_chegirma = list(map(lambda x: x * 0.8, narxlar)) # Soliq qo'shish (12%) soliq_bilan = list(map(lambda x: x * 1.12, narxlar))

🏪 Do'kon dasturlari

Mahsulot narxlariga chegirma qo'llash

Soliq hisoblash

Aksiya narxlarini belgilash

👥 Real hayot misoli: Foydalanuvchilarni filtrlash

foydalanuvchilar = [ {"ism": "Ali", "yosh": 20}, {"ism": "Zilola", "yosh": 16}, {"ism": "Sardor", "yosh": 25} ] # 18+ foydalanuvchilar kattalar = list(filter(lambda x: x["yosh"] >= 18, foydalanuvchilar)) print(kattalar)

📱 Ijtimoiy tarmoqlarda:

✅ Yosh bo'yicha foydalanuvchilarni filtrlash

✅ Kontentga ruxsat berish/bermash

✅ Maxsus funksiyalarni ochish

# Natija: [{'ism': 'Ali', 'yosh': 20}, {'ism': 'Sardor', 'yosh': 25}]

💻 Amaliy mashq 1

🎯 Vazifa:

lambda a, b: a * b + 2 funksiyasini yaratib, (3, 4) argumentlari bilan chaqiring

hisobla = lambda a, b: a * b + 2 print(hisobla(3, 4)) # ?

📊 Javob:

14 # (3 * 4 + 2 = 14)

⏰ 5 daqiqa vaqt!

💻 Amaliy mashq 2

🎯 Vazifa:

sonlar = [2, 3, 4, 5, 6] ro'yxati uchun:

  • map() va lambda yordamida har bir sonni 3 ga ko'paytiring
  • filter() va lambda yordamida faqat 4 dan katta sonlarni ajratib oling
sonlar = [2, 3, 4, 5, 6] # 1. Har bir sonni 3 ga ko'paytirish uchga_kopaytirish = list(map(lambda x: x * 3, sonlar)) # 2. 4 dan katta sonlarni filtrlash katta_sonlar = list(filter(lambda x: x > 4, sonlar))

📊 Javoblar:

[6, 9, 12, 15, 18] # uchga_kopaytirish [5, 6] # katta_sonlar

💻 Amaliy mashq 3

🎯 Vazifa:

odamlar = [{"ism": "Sardor", "yosh": 22}, {"ism": "Zilola", "yosh": 17}] ro'yxati uchun:

  • Lambda yordamida yosh bo'yicha tartiblang
  • Lambda yordamida 18 yoshdan katta odamlarni filtrlash
odamlar = [{"ism": "Sardor", "yosh": 22}, {"ism": "Zilola", "yosh": 17}] # Yosh bo'yicha tartiblash tartiblangan = sorted(odamlar, key=lambda x: x["yosh"]) # 18+ filtrlash kattalar = list(filter(lambda x: x["yosh"] >= 18, odamlar))

📊 Javoblar:

# tartiblangan: [{'ism': 'Zilola', 'yosh': 17}, {'ism': 'Sardor', 'yosh': 22}] # kattalar: [{'ism': 'Sardor', 'yosh': 22}]

🏠 Uy vazifasi

📝 Topshiriqlar:

  1. lambda x, y: x / y funksiyasini yaratib, (10, 2) bilan chaqiring
  2. sonlar = [10, 20, 30, 40] uchun har birini 5 ga bo'ling
  3. 25 dan katta sonlarni filtrlang
  4. Mahsulotlarni narx bo'yicha teskari tartibda tartiblang
mahsulotlar = [ {"nomi": "Televizor", "narxi": 3000000}, {"nomi": "Konditsioner", "narxi": 5000000} ] # Sizning kodingiz...

📚 Keyingi dars: Python Map, Filter, Reduce

🎉 Xulosa

Lambda funksiyalar

Qisqa va ixcham

Bir qatorlik operatsiyalar uchun

🛠️

Qo'llanishi

map(), filter(), sorted() bilan

Real loyihalarda foydali

🎯

Eslab qoling

Murakkab logika uchun oddiy funksiya ishlatamiz

Lambda - faqat sodda operatsiyalar uchun

❓ Savollar bormi?

Lambda funksiyalar haqida tushunmovchilik bo'ldimi?

Real loyihada qanday ishlatgan bo'lardingiz?

Rahmat! Zo'r ish qildingiz! 👏

1 / 15
⏱️ Kirish va Lambda tushunchasi (20 daq)