Python dasturlash maktabi
2.5K subscribers
32 photos
1 file
41 links
@pythonuz kanalida python dasturlash tili Nematillo Ochilov tomonidan bosqichma bosqich bepul o'rgatiladi

@NematilloOchilov - blog
@pythonuz - Python darslari
@js_uz - Java Script
@MQLUZ - Savdo robotlarni dasturlash
Download Telegram
Python dasturlash maktabi
Kortej.png
Ⓜ️ 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
@pythonuz kanalini rivojlantirish uchun nima qilish kerak?
Kanalning salbiy tomonlari?

Fikringizni izohda yozing.
Biror test siz uchun qiziqarli bo'lsa oʻsha testni dasturlashga oid guruhlarga yuboring.
Python dasturlash maktabi
⭕️ 3-bo'lim "Nazorat tarkibi" ————————————— Ⓜ️ "if" va "elif" operatorlari Biror shart bajarish uchun if operatorlaridan foydalanishingiz mumkin va shart operatori deyarli barcha dasturlarda ishtirok etadi. Shart operatori 3 qismdan iborat (if, elif, else).…
Ⓜ️ Lug'atlar (dict).

Lug'atlar figurali (jingalak) qavs ichida joylashgan kalit va qiymatlardan tashkil topgan tartiblanmagan obektlar to'plami.Lug'atlar ro'yxatga o'xshaydi.Lug'atni ro'yxatdan asosiy farqlari lug'atda kalit va qiymatlar ikki nuqta : bilan ajratib figurali {} qavs ichiga yoziladi.
lugat = {'kalit': 'qiymat'}

Raqamlar, satrlar yoki o'zgaruvchan obektlarni o'z ichiga olmagan kortejlardan kalit sifatida foydalanish mumkin.
raqamli_kalit = {42: 'qiymat'}
satrli_kalit = {'satr': 'qiymat'}
kortejli_kalit = {(1, 'one', True): 'qiymat'}

Lug'atlar kitob mundarijasi vazifasini bajarishi mumkin.Buning uchun sahifa raqamlarini kalit va mavzu nomlarini qiymat ko'rinishida saqlash kerak.

Lug'atlarni dict() funksiyasi, literallar, fromkeys uslubi yoki lug'at gneratorlari yordamida tuzish mumkin.

dict_funksiyasi = dict(Uzbekistan="Tashkent", USA=True)
print(dict_funksiyasi)
{'Uzbekistan': 'Tashkent', 'USA': True}

literal = {'python': '@pythonuz', 'php': '@phpuz'}
print(literal)
{'python': '@pythonuz', 'php': '@phpuz'}

lugat_gneratori = {i: chr(65+i) for i in range(4)}
print(lugat_gneratori)
{0: 'A', 1: 'B', 2: 'C', 3: 'D'}
kortejli_kalit = {(k, v): k+v for k in range(4,6) for v in range(2,9,3)}
print(kortejli_kalit)
{(4, 2): 6, (4, 5): 9, (4, 8): 12, (5, 2): 7, (5, 5): 10, (5, 8): 13}

fromkeys_uslubi = dict.fromkeys(['balandligi', 'vazni'], 0)
print(fromkeys_uslubi)
{'balandligi': 0, 'vazni': 0}

none = dict()
print(none)
{}

Lug'atlarga ma'lumot qo'shish uchun o'zgaruvchi, to'rtburchak qavs ichida kalit, 1 ta tenglik belgisi va qiymat yoziladi.
lugat = {'meva': 'olma', 'shirinlik': 'tort'}
lugat['ichimlik'] = 'Coca-Cola'
print(lugat)
{'meva': 'olma', 'shirinlik': 'tort', 'ichimlik': 'Coca-Cola'}

Lug'atlardan qiymatni olish uchun to'rtburchak qavs ichiga kalit yoziladi.
print(lugat['shirinlik'])
tort

Lug'atlardan qiymatni olishda mavjud bo'lmagan kalitni kiritsangiz KeyError xatoligini qaytaradi.
print(lugat[1])
KeyError: 1

Mavzu sizga ma'qul kelgan bo'lsa mavzuni dasturlashga oid guruhlarga yuborib muhokama qiling.Tushunmagan savollaringizni izohda yozib qoldiring.

@pythonuz