Python
7️⃣ Listlar bilan ishlash: map, filter va lambda — qulay yo‘l
Bugungi mavzu tez yozish va aniq filtrlar uchun kuchli vosita: map, filter va lambda. Python’da ro‘yxat (list) ustida elementlar bo‘yicha amallarni soddalashtirolishingiz mumkin. map yordamida har bir elementga funksiyani qo‘llaysiz, filter esa shartga mos kelgan elementlarni tanlab oladi, lambda esa kichik anonim funksiyani tez yozishga yordam beradi. Shuning uchun murakkab sikllarsiz ham o‘zgaruvchilarni oson ishlatishingiz mumkin. Biroq o‘qilishi yomon bo‘lmasin deya, ko‘proq o‘qinganlar uchun list comprehensions ham qulay alternativadir. Bugun map, filter va lambda’lardan bir nechta amalda misol ko‘raylik.
# 1) ro'yxatdagi sonlarning kvadratlarini olamiz
nums = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x * x, nums))
# 2) faqat juft sonlarni tanlab olish
evens = list(filter(lambda x: x % 2 == 0, nums))
# 3) qisqa ma’lumotlar: nomlar ro'yxatidagi uzunliklarini topish
names = ["Ali", "Zarina", "Diyor"]
lengths = list(map(len, names))
squared, evens, lengths
Output:
([1, 4, 9, 16, 25], [2, 4], [3, 6, 5])
Qanday hollarda lambda + map/filter foydali? YUQORI darajadagi funksiyani yozmasdan tez yozish kerak bo‘lsa yoki diskret transformatsiya (shu bilan birga o‘qilishi) kutilmasa. Shuningdek, o‘qinganlar uchun tushunarliligi yo‘lida list comprehension’larni ham ko‘rib chiqing — ba’zi hollarda o‘qilishi yaxshiroq bo‘ladi.
Sizningcha, siz ko‘proq qaysi usulga moyil bo‘lasiz: map/filter/lambda yoki ro‘yxat bo‘yicha tushunarli list comprehension? Qaysi misollarni kundalik vazifadagi ishlar uchun yoqtirasiz?
6 ·