Python dasturlash maktabi
پاسخPythonda kortejlar
@pythonuzⓂ️ Kortejlar (tuple)
# Kortejlar bir nechta ob’yektlarni birgalikda saqlashga xizmat qiladi.
# tuple() funksiyasi, oddiy qavs yoki qavs ochmasdan kortejlarni tuzish mumkin.
tuple_funksiyasi = tuple(['mandarin', 'ananas'])
print(tuple_funksiyasi) # ('mandarin', 'ananas')
qavsli = ('nok', 'shaftoli')
print(qavsli) # ('nok', 'shaftoli')
qavssiz = 'olma', 'anor', 'kadi'
print(qavssiz) # ('olma', 'anor', 'kadi')
# Kortej elementlar orasini vergul bilan ajratish orqali hosil qilinadi.
var1 = ('@pythonuz')
print(type(var1)) # <class 'str'>
var2 = ('@pythonuz',)
print(type(var2)) # <class 'tuple'>
# Kortejning afzalliklari.
1) Kortej o`zgartirishlardan himoyalangan bo`ladi.
# Ro'yxatlarni o'zgartirish mumkin.
royxat = ['@pythonuz', '@phpuz']
royxat[1] = 'js_uz'
print(royxat) # ['@pythonuz', 'js_uz']
# Kortejni ro'yxatdan asosiy farqi korjejlarni o'zgartirib bo'lmaydi.
kortej = ('olma', 'anor')
kortej[1] = 'gilos'
print(kortej) # TypeError: 'tuple' object does not support item assignment
Kortej imkoniyatlari.
# 1) Kortejni ro'yxat turiga o'girib so'ng o'zgartirish kiritish mumkin.
kortej = ('olma', 'anor')
kortejdan_royxatga = list(kortej)
kortejdan_royxatga[1] = 'gilos'
print(kortejdan_royxatga) # ['olma', 'gilos']
royxatdan_kortejga = tuple(kortejdan_royxatga)
print(royxatdan_kortejga) # ('olma', 'gilos')
# 2) Kortej xotiradan kichik hajm band qiladi.
import sys
kortej = ('olma', 1, True)
print(sys.getsizeof(kortej)) # 64
royxat = ['gilos', 0, False]
print(sys.getsizeof(royxat)) # 80
# 3) Kortejdan lug`at kaliti sifatida foydalanish mumkin.
kortej = {(1, True, 'olma'): 7}
print(kortej[(1, True, 'olma')]) # 7
royxat= {[1, True, 'olma']: 7}
print(royxat[[1, True, 'olma']]) # TypeError: unhashable type: 'list'
# Kvadrat qavs ichidagi indeks raqamiga murojaat qilib kortej elementlarini tanlashingiz mumkin.
kortej = ('olma', 'uzum', 'gilos', 'behi', 'anor', "o'rik", 'apelsin', 'shaftoli', 'ananas', 'nok')
# Kortejdagi ikkinchi elelmentni chop qiling
print(kortej[1]) # uzum
# Kortejdagi oxirgi elelmentni chop qiling
print(kortej[-1]) # nok
# Kortejdagi to'rtinchi elelmentdan oltinchi elelmentgacha chop qiling
print(kortej[3:6]) # ('behi', 'anor', "o'rik")
# Kortejdagi beshinchi elelmentgacha chop qiling
print(kortej[:4]) # ('olma', 'uzum', 'gilos', 'behi')
# Kortejdagi iikinchi elelmentdan oxirgi elelmentgacha chop qiling
print(kortej[1:]) # ('uzum', 'gilos', 'behi', 'anor', "o'rik", 'apelsin', 'shaftoli', 'ananas', 'nok')
# Kortejalrni birlashtirish.
tuple1 = ("a", "b" , "c")
tuple2 = (1, 2, 3)
tuple3 = tuple1 + tuple2
print(tuple3) # ('a', 'b', 'c', 1, 2, 3)
# Kortejlarni ko'paytirish.
mevalar = ("olma", "banan")
kortej = mevalar * 2
print(kortej) # ('olma', 'banan', 'olma', 'banan')
❕Kortejda namedtuple subklasidan foydalanish.
@pythonuz
36 · 2.8K ·