Python'da to'plam (set) va kortej (tuple)
Ro’yxat va lug’at — eng ko’p ishlatiladigan to’plamlar. Python’da yana ikkitasi bor: to’plam (set) — takrorsiz elementlar uchun, va kortej (tuple) — o’zgarmaydigan ma’lumot uchun. Bu darsda ularning nima uchun kerakligini ko’ramiz.
To’plam (set) — takrorsiz elementlar
To’plam ham { } ichida yoziladi, lekin lug’atdan farqi — bu yerda kalit
emas, faqat qiymatlar. Uning asosiy xususiyati: takror bo’lmaydi.
Takroriy qiymatlar avtomatik olib tashlandi. Aynan shu xususiyat to’plamni qulay qiladi: ro’yxatdagi takrorlarni yo’qotishning eng tez usuli — uni to’plamga aylantirish:
Besh elementli ro’yxatda faqat 3 ta noyob ism bor edi — to’plam qolganini o’zi olib tashladi.
To’plam amallari
To’plamlar matematikadagi to’plamlar kabi ishlaydi — kesishma, birlashma:
Masalan, ikki guruh o’quvchilarining umumiylarini topish uchun & juda
qulay.
Kortej (tuple) — o’zgarmas ro’yxat
Kortej ro’yxatga o’xshaydi, lekin yumaloq qavs ( ) bilan yoziladi va
bir marta yaratilgach o’zgartirib bo’lmaydi:
Elementga indeks orqali murojaat ro’yxatdagidek ishlaydi. Lekin
koordinata[0] = 50 yozsangiz — TypeError, chunki kortej o’zgarmas.
Kortej nega kerak
Agar ro’yxat bor bo’lsa, kortej nimaga? Sabablari:
- Himoya — o’zgarmasligi kerak bo’lgan ma’lumot (koordinata, tug’ilgan sana) tasodifan buzilmaydi.
- Ma’no — kod o’quvchiga “bu qiymatlar birga yuradi va o’zgarmaydi” degan signal beradi.
- Funksiyadan bir nechta qiymat qaytarish — buni keyingi return darsida ko’ramiz.
To’rt to’plamni solishtirish
| Tur | Qavs | Tartib | O’zgaradi | Takror |
|---|---|---|---|---|
| Ro’yxat (list) | [ ] |
Bor | Ha | Bo’ladi |
| Kortej (tuple) | ( ) |
Bor | Yo’q | Bo’ladi |
| To’plam (set) | { } |
Yo’q | Ha | Bo’lmaydi |
| Lug’at (dict) | { } |
Bor | Ha | Kalit takrorlanmaydi |
Amaliy mashq
Takrorlarni tozalang:
- Ichida takrorlanuvchi elementlar bo’lgan ro’yxat yarating;
set()bilan uni takrorsiz to’plamga aylantiring;- ikkinchi to’plam yaratib, kesishmasini (
&) va birlashmasini (|) toping; koordinata = (41.3, 69.2)kortejini yarating va elementlarini chiqaring;- kortej elementini o’zgartirishga urinib ko’ring.
Oxirgi qadamda qanday xato chiqdi — kortej nega “o’zgarmas” deyiladi?
Qisqacha xulosa
- To’plam (set) —
{ }, takrorsiz, tartibsiz, indekssiz. Takrorlarni yo’qotish uchun ideal:set(royxat). - To’plam amallari:
&(kesishma),|(birlashma),-(ayirma). - Kortej (tuple) —
( ), ro’yxatga o’xshaydi, lekin o’zgarmas. - O’zgarmaslik ma’lumotni tasodifiy o’zgarishdan himoya qiladi.
- Bo’sh to’plam —
set(), bo’sh{}esa lug’at.
Shu bilan ma’lumot saqlash tuzilmalarini yakunladik. Keyingi darsda funksiya — kodni qayta ishlatiladigan bloklarga bo’lish usulini o’rganamiz.