Dastur yaratish davomida o'zgarmas ro'yxat tuzish talab qilinishi mumkin. Pythonda bunday ro'yxatlar tuples deb yuritiladi. Tuple ichidagi qiymatlarni bir marta, dastur boshida beriladi va so'ngra o'zgartirib bo'lmaydi. List dan farqli ravishda, Tuple e'lon qilishda kvadrat qavslar [] o'rniga oddiy qavslar () ishlatiladi:
tomonlar = (20, 30, 55.2)
print(tomonlar)
Natija: (20, 30, 55.2)
Tuple ichidagi elementlarga huddi ro'yxat elementlariga murojat qilingani kabi murojat qilinaveradi:
toys = ('bus','car','bear','dino','snake','lizard')
print(toys[0])
print(toys[-1])
print(toys[2:5])
Natija:
bus
lizard
('bear', 'dino', 'snake')
Keling Tuple ichidagi biror elementning qiymatini o'zgartirib ko'ramiz:
toys = ('bus','car','bear','dino','snake','lizard')
toys[3] = 'dragon'
Natija: TypeError: 'tuple' object does not support item assignment Demak yuqorida ko'rib turganingiz kabi, bu operatsiya xatolikka olib keldi. Shu kabi ro'yxatdan biror elementni o'chirish yoki yangi element qo'shish ham mumkin emas.
Agar Tuple ga o'zgartirish talab qilinsa, yagona yo'li o'zgarmas ro'yxatni list() funktsiyasi yordamida List (oddiy ro'yxat) ko'rinishiga keltirib olish, o'zgarishlarni bajarsih va qaytarib tuple() funktsiyasi yordamida o'zgarmas ro'yxatga o'tkazish mumkin:
toys = ('bus','car','bear','dino','snake','lizard') # o'zgarmas ro'yxat
toys = list(toys) # o'zgarmas ro'yxatni oddiy ro'yxatga (List) aylantiramiz
# Ro'yxatga o'zgartirishlar kiritamiz
toys.append('dragon')
toys.remove('bus')
toys[1] = 'mcqueen'
toys = tuple(toys) # Ro'yxatni qaytadan o'zgarmas ro'yxatga (Tuple) aylantiramiz
print(toys)
Natija: ('car', 'mcqueen', 'dino', 'snake', 'lizard', 'dragon')
AMALIYOT
O'zingizga ma'lum davlatlarning ro'yxatini tuzing va ro'yxatni konsolga chiqaring
Ro'yxatning uzunligini konsolga chiqaring
sorted() funktsiyasi yordamida ro'yxatni tartiblangan holda konsolga chiqaring
sorted() yordamida ro'yxatni teskari tartibda konsolga chiqaring
Asl ro'yxatni qaytadan konsolga chiqaring
reverse() metodi yordamida ro'yxatni ortidan boshlab chiqaring
sort() metodi yordamida ro'yxatni avval alifbo bo'yicha, keyin esa alifboga teskari tartibda konsolga chiqaring.
120 dan 1200 gacha bo'lgan juft sonlar ro'yxatini tuzing
Ro'yxatdagi sonlar yig'indisini hisoblang va konsolga chiqaring
Ro'yxatdagi eng katta va eng kichik son o'rtasidagi ayirmani hisoblang va konsolga chiqaring
Ro'yxatdagi elementlar sonini hisoblang
Ro'yxatning boshidan, o'rtasidan va oxiridan 20 ta qiymatni konsolga chiqaring
taomlar degan ro'yxat yarating va ichiga istalgan 5ta taomni kiriting
nonushta degan yangi ro'yxatga taomlardan nusxa oling
Yangi ro'yxatda faqat nonushtaga yeyiladigan taomlarni qoldiring, va qo'shimcha 2 ta taom qo'shing
Ikkala ro'yxatni ham (taomlar va nonushta) konsolga chiqaring
Yuqoridagi nonushta ro'yxatini o'zgarmas ro'yxatga aylantiring va nonushta[0] = "qaymoq va non" deb qiymat berib ko'ring.