Kortejlar(tuple)
Bu bobimizda biz kortejlar va ularning qollanilishi haqida so`z yuritamiz.
Kortej, o`zining xususiyatlariga ko`ra – o`zgarmaydigan ro`yxatdir.
Ro`yxatlar turganda, kortejlar nima uchun kerak?
Xatoliklardan himoya. Ya`ni kortejlar bilib turgan holda (bu yomon) va bilmasdan (bu, albatta, yaxshi) o`zgarishlardan himoyalangan.
Kichikroq hajm. Mana bir misol:
>>> a = (1, 2, 3, 4, 5, 6)
>>> b = [1, 2, 3, 4, 5, 6]
>>> a.__sizeof__()
36
>>> b.__sizeof__()
44
Kortejlardan lug`atlarning kalitlari sifatida foydalanish mumkinligi:
>>> d = {(1, 1, 1) : 1}
>>> d
{(1, 1, 1): 1}
>>> d = {[1, 1, 1] : 1}
Traceback (most recent call last):
File "", line 1, in
d = {[1, 1, 1] : 1}
TypeError: unhashable type: 'list'
Kortejlar bilan qanday ishlanadi?
Kortejlarning afzalliklari bilan tanishib chiqdik. Endi ular bilan qanday ishlash mumkin degan savol yuzaga keladi. Bu ob`yektlar bilan ishlash ro`yxatlar bilan ishlashdan deyarli farq qilmaydi.
>>> a = tuple() # tuple() tarkibiy funksiyasi yordamida
>>> a
()
>>> a = () # kortej literali yordamida
>>> a
()
>>>
Keling bir bosh kortej yaratamiz:
1ta elementli kortej yaratamiz:
>>> a = ('s')
>>> a
's'
Lekin bu misolimizning natijasida satr hosil bo`ldi. Biz esa kortej yaratmoqchi edik. Qanday qilib kortej yaratsak bo`ladi?
>>> a = ('s', )
>>> a
('s',)
Mana kerakli natijaga ega bo`ldik. Hamma gap vergulda ekan. Qavslarning o`zi hech narsani bildirmaydi. Aniqrog`i bildiradiyu, ularning ichida bitta bosh joylar, satr ko`chishi yoki boshqa elementlar bilan ajratilishi mumkin bo`lgan element joylashishini bildiradi. Bundan tashqari kortejni mana bu usulda ham yaratish mumkin:
>>> a = 's',
>>> a
('s',)
Lekin, baribir, chalg`imang va qavslarni har doim qo`yishga odatlaning, chunki ba`zi hollarda ularni qo`ymaslikning iloji bo`lmaydi.
>>> a = tuple('hello, world!')
>>> a
('h', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!')
Iteratsiyalanadigan ob`yektlardan kortej yaratish uchun esa oldi nko`rganimiz, tuple() funksiyasi qo`llaniladi.
Dostları ilə paylaş: |