Python
🧩 3-qism: List comprehensionlar — ro‘yxatlarni qisqa yo‘l bilan yaratish
Listlar Pythonning qudratli tuzilmasi. List comprehensionlar yordamida oddiy for sikli bilan yozilgan kodni qisqa, o‘qilishi oson shaklga kiritamiz. Ular tez-tez ro‘yhatlardan filtrlar qo‘llash, ma’lumotlar ustida transformatsiya qilish uchun ishlatiladi. Shunchaki mos yozuvlar va ifoda bilan bir nechta satrda mavjud natijaga erishamiz. Bu usul kodni 2x tezroq yozish imkonini berdi, ayni paytda tushunarli bo‘lib qoladi. 😊
Misol: biz 1 dan 20 gacha bo‘lgan sonlardan faqat juft sonlarni topamiz. Oddiy for sikli o‘rniga list comprehensiondan foydalanamiz. Natija toza ro‘yxat bo‘lib, har bir element o‘z o‘rnida saqlanadi.
# juft sonlar ro'yxatini qisqa shaklda olish
numbers = range(1, 21)
evens = [n for n in numbers if n % 2 == 0]
print(evens)
Output:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
Bu yerda n — har bir element, for n in numbers — ro‘yxat bo‘ylab aylanadi, if n % 2 == 0 esa shart. Agar talab bo‘lsa, hamma noldan tashqari qiymatlar ham qo‘shilishi mumkin. Masalan, har bir raqamning kvadratini olish uchun [n**2 for n in numbers] yozamiz. Qisqa, samarali, xuddi shunga o‘xshash transformatsiyalar uchun list comprehensionlar juda mos keladi. ✅
Savol: Sizda list comprehension bilan qaysi holat eng foydali bo‘ldi? Yoki oddiy for sikli bilan ishlashni afzal ko‘rasizmi? Fikrlaringizni yozib qoldiring. 👇
5 ·