Isoqjanov Ilyos | Python
🧠 Pythonda Comprehension nima? Nega ishlatiladi?
Python dasturlashda comprehension — ma’lumot tuzilmalarini ixcham, tez va o‘qilishi oson tarzda yaratish usuli. U an’anaviy for sikliga qaraganda kamroq kod, ko‘proq qulaylik va yaxshi performance beradi.
Comprehensionning 4 ta asosiy turi mavjud:
🔵 1) List Comprehension
Ro‘yxat yaratishning eng mashhur usuli.
➤ Misol:
numbers = [1, 2, 3, 4]
squares = [n*n for n in numbers]
❗️ Shart bilan yozish ham mumkin:
even = [n for n in numbers if n % 2 == 0]
🟢 2) Dictionary Comprehension
Lug‘atlarni tez yaratish uchun ishlatiladi.
➤ Misol:
kvadratlar = {n: n*n for n in range(1, 6)}
Filtrlash bilan:
even_map = {n: n*n for n in range(10) if n % 2 == 0}
🟣 3) Set Comprehension
To‘plam (set) yaratish uchun.
➤ Misol:
letters = {ch for ch in "hello python"}
🟡 4) Generator Expression (Generator Comprehension)
Xotirani juda tejamkor ishlatadi — barcha qiymatlar birdaniga emas, kerak bo‘lganda yaratiladi.
➤ Misol:
gen = (n*n for n in range(10))
Bu ro‘yxat ham tuple ham emas — bu generator (e'tibor bering tuple emas, ko'pchilik tuple deb o'ylaydi)! Xotira kam ishlatiladi.
❓ Comprehension nega kerak? Nima yutamiz?
✔️ 1. Kod 2-3 marta qisqaradi
An’anaviy usul:
result = []
for n in range(10):
result.append(n*n)
Comprehension:
result = [n*n for n in range(10)]
✔️ 2. O‘qish va tushunish oson
Bitta qatorda nima qilinayotgani aniq ko‘rinadi.
✔️ 3. Tezroq ishlaydi (performance yaxshiroq)
Python comprehensionlarni optimallashtiradi.
✔️ 4. Xatolar kamroq bo‘ladi
append, set.add, dict[key] = value kabi funksiyalar kerak bo‘lmaydi.
❗️ Agar comprehension ishlatilmasa, nima yutqaziladi?
− Kod cho‘zilib ketadi
− Ko‘rinishi chalkash bo‘ladi
− Ba’zi hollarda sekinroq ishlaydi
− Pythonning “pythonic” uslubidan yiroqlashadi
Comprehension — bu Pythonda sodda, toza va tez kod yozishning eng muhim vositalaridan biri.
6 · 863 ·