Darsliklar Python Ma’lumot to’plami. Tuple

Python Python Ma’lumot to’plami. Tuple

List bilan tanishganimizdan so’ng, navbat uning “o’zgarmas ukasi” — Tuplega keldi. Tuple ko’pincha e’tibordan chetda qoladi, biroq aynan uning o’zgarmasligi ko’p hollarda dasturni xavfsiz va tezroq qiladi.

Tupletartiblangan va o’zgarmas (immutable) to’plam. U dumaloq qavs () ichida yoziladi. Yaratilgach, uning elementlarini o’zgartirib, qo’shib yoki o’chirib bo’lmaydi.

Tuple yaratish

koordinata = (41.31, 69.24)
rang = ("qizil", "yashil", "ko'k")
print(koordinata)
print(rang[0])
print(len(rang))
(41.31, 69.24)
qizil
3

Ko’rib turganingizdek, indekslash List bilan bir xil ishlaydi. Farq faqat qavsda va — eng muhimi — o’zgarmaslikda.

O’zgarmaslik nimani anglatadi?

Tuple elementini o’zgartirishga urinsangiz, Python xato beradi. Bu qasddan qilingan cheklov — u ma’lumotning tasodifan buzilishidan himoya qiladi:

rang = ("qizil", "yashil", "ko'k")
# rang[0] = "sariq"  # bu qator xato beradi: TypeError
print(rang)
('qizil', 'yashil', 'ko''k')

Agar ma’lumot dastur davomida o’zgarmasligi kerak bo’lsa — masalan, hafta kunlari, konfiguratsiya qiymatlari yoki geografik koordinatalar — Tuple aynan to’g’ri tanlov.

List va Tuple: qaysi biri qachon?

Ikkalasining farqini jadvalda aniq ko’rib olamiz:

Xususiyat List [] Tuple ()
Tartiblangan Ha Ha
O’zgartirsa bo’ladi Ha Yo’q
Tezlik Sekinroq Tezroq
Qo’llanishi O’zgaruvchi ma’lumot Doimiy ma’lumot

Amaliy qoida: agar to’plam dastur davomida o’zgarishi kerak bo’lsa — List, o’zgarmasa — Tuple. Tuple xotirada kamroq joy egallaydi va tezroq ishlaydi.

Tuple’ni ochib olish (unpacking)

Python’ning eng nafis imkoniyatlaridan biri — Tuple qiymatlarini bir yo’la bir nechta o’zgaruvchiga taqsimlash:

foydalanuvchi = ("Farrux", 26, "Toshkent")
ism, yosh, shahar = foydalanuvchi
print(ism)
print(yosh)
print(shahar)
Farrux
26
Toshkent

Bu “unpacking” deb ataladi va u kodni juda o’qiladigan qiladi. Funksiyalar bir nechta qiymat qaytarganda ham aynan shu mexanizm ishlaydi.

Bitta elementli Tuple

Diqqat qiling — bu ko’pchilik adashadigan nozik nuqta. Bitta elementli Tuple yaratishda vergul shart:

notogri = ("salom")     # bu oddiy satr!
togri = ("salom",)      # bu esa Tuple
print(type(notogri))
print(type(togri))
<class 'str'>
<class 'tuple'>

Vergulsiz qavs oddiy guruhlash sifatida qaraladi, shuning uchun bitta element uchun vergulni unutmang.

Xulosa

Bu darsda Tuple — tartiblangan va o’zgarmas to’plam bilan tanishdik, uning List’dan farqini, unpacking texnikasini va bitta elementli Tuple nozikligini ko’rib chiqdik. O’zgarmas ma’lumot uchun Tuple xavfsiz va tez tanlov. Keyingi darsda Set — takrorlanmas to’plamga o’tamiz.