• 1.2 To’plamlar ustuda amallar.
  • II BOB MISOLLAR
  • O’zbekiston respublikasi oliy ta`lim, fan va innovatsiyalar vazirligi chirchiq davlat pedagogika universiteti




    Download 318.09 Kb.
    bet4/10
    Sana19.09.2023
    Hajmi318.09 Kb.
    #82676
    1   2   3   4   5   6   7   8   9   10
    Bog'liq
    Marjona Dòrmonova
    DISKRET TUZILMALAR, HMEJdFixJPUPu6gKYqiLJIK1l4obVDwy5bB00EL8, sEvIGUnF8tYrkRPteqw4sWYP9GWkxLLbg4ItQTCH, 1669567304, 499066, Boymurod test, Na\'muna Web texnologiyalar loyiha ishi, KOR[PORATIV BOSHQARUV BOSHQARUV ORGANLARI, Ibroyim Yusupov, Миршохид Лойиха Хисобот Иши-4, 3-kurs, 1685902012, Оилавий болалар уйи. Тугарак, 8- лекция. BURGʼI QUDUQLARIDA TERMIK TADQIQOTLAR
    To’plamga element qo’shish. To‟plamga element qo‟shish uchun add() metodidan foydalaniladi:



    son = set()



    son.add(2)



    son.add(4)



    print(son) # {2, 4}





    To’plamdan elementni o’chirish. To`plamdan elementni o‟chirish uchun remove() metodi qo`llanilib, uning argumentiga o`chirilishi kerak bo`lgan element
    beriladi. Agar o`chirilishi kerak bo‟lgan element to`plamda mavjud bo`lmasa, u
    holda KeyError istisno xatoligi ro`y beradi. Shuning uchun to`plamdan elementni o‟chirishdan oldin in operatori orqali shu elementning lug`atda mavjud yoki yo‟qligini tekshirish tavsiya qilinadi:



    ismlar = {"Anvar", "Abbos", "Abror"}



    ism = " Abror"





    if ism in ismlar:

    ismlar.remove(ism)



    print(ismlar) # {'Anvar', 'Abbos'}



    To`plamdan elementni o`chirishning boshqa usuli ham mavjud bo`lib, discard() metodi orqali amalga oshiriladi. Usbu usulda element to‟plamdan o`chirilganda, agar o`chirilayotgan element to`plamda mavjud bo`lmasa ham istisno xatoligi ro`y bermaydi:





    ismlar = {"Anvar", "Abbos", "Abror"}



    ism = "Abbos"

    ismlar = {"Anvar", "Abbos", "Abror"}

    ism = "Abbos"

    To`plamning barcha elementlarini birdaniga o`chirish uchun ya`ni to`plamni


    tozalash uchun clear() metodidan foydalaniladi:

    ismlar = {"Anvar", "Abbos", "Abror"}

    ismlar.clear()

    print(ismlar) # set()

    To`plam elementlariga for operatori orqali murojaatni (perebor) amalga oshirish mumkin:



    ismlar = {"Anvar", "Abbos", "Abror"}

    for ism in ismlar:

    print(ism)

    bu erda to`plamni har bir elementi ism o`zgaruvchisiga ketma-ket yuklanadi va keyingi hisoblashlarda ishlatilishi mumkin.

    1.2 To’plamlar ustuda amallar.


    To`plamlar ustuda turli xil amallarni bajarish mumkin bo`lib, ular metod va funksiyalar orqali amalga oshiriladi. Quyida ulardan eng ko`p qo`llaniladiganlarini qarab chiqamiz:
    copy() metodi biror bir to`plamdan nusxa olish uchun ishlatiladi, masalan:

    ismlar = {"Anvar", "Abbos", "Abror"}

    ismlar2 = ismlar.copy()

    print(ismlar) # {'Abbos', 'Anvar', 'Abror'}

    print(ismlar2) # {'Abbos', 'Anvar', 'Abror'}

    union() metodi ikkita to`plamni birlashtiradi va qiymat sifatida yangi to`plamni qaytaradi:

    famil = {"Axmedov", "Niyazov"}

    ism = {"Sardor", "Tohir"}

    FIO = famil.union(ism)

    print(FIO) # {'Axmedov', 'Tohir', 'Sardor', 'Niyazov'}

    intersection() metodi ikkita to`plamni kesishmasini olish uchun ishlatib, qiymat sifatida yangi to`plam qaytaradi. Ya`ni ikkita to`plam uchun umumiy bo`lgan elementlarni olish uchun intersection() metodi qo`llaniladi:

    famil = {"Axmad", "Sardor", "Ikrom"}

    ism = {"Sardor", "Tohir","Ikrom"}

    ism2 = famil.intersection(ism)

    print(ism2) # {'Sardor', 'Ikrom'}

    intersection() metodi o`rniga unga ekvivalent bo`lgan & (mantiqiy ko`paytirish) amalini ham qo`llash mumkin:

    famil = {"Axmad", "Sardor", "Ikrom"}

    ism = {"Sardor", "Tohir","Ikrom"}

    ism2 = famil & ism

    print(ism2) # {'Sardor', 'Ikrom'}


    difference() metodi to`plamlar ayirmasini topish uchun qo`llanilib, qiymat sifatida yangi to`plam qaytaradi. Ya`ni birinchi to`plamda mavjud va ikkinchi to`plamda yoq bo`lgan elementlarni topishda ishlatish mumkin. difference() metodiga ekvivalent amal bu „-‟ amalidir:

    famil = {"Axmad", "Sardor", "Ikrom"}

    ism = {"Sardor", "Tohir", "Ikrom"}

    ism2 = famil.difference(ism)

    ism3 = famil - ism

    print(ism2) # {'Axmad'}

    print(ism3) # {'Axmad'}

    issubset() metodi qaralayotgan to`plam boshqa to`plam (argumentida berilgan) ning qism to`plami yoki yo`qligini tekshirish uchun ishlatiladi:

    famil = {"Axmad", "Sardor", "Ikrom"}

    ism = {"Sardor", "Ikrom"}

    print(ism.issubset(famil)) # True

    print(famil.issubset(ism)) # False


    issuperset() metodi qaralayotgan to`plam boshqa to`plamni (argumentida berilgan) o`z ichiga olishi yoki olmasligini tekshirish uchun ishlatiladi:

    famil = {"Axmad", "Sardor", "Ikrom"}

    ism = {"Sardor", "Ikrom"}

    print(ism.issuperset(famil)) # False

    print(famil.issuperset(ism)) # True


    Frozenset. (frozenset )– o`zgartirib bo`lmaydigan to`plamlarni yaratish uchun ishlatiladi. Ushbu turdagi to`plamga yangi element qo`shish, o`chirish yoki element qiymatini o`zgartirishga ruxsat berilmaydi. Frozenset turidagi to‟plam odatda ro‟yхat, kortej yoki oddiy to‟plam (set) orqali hosil qilinadi:

    famil = {"Axmad", "Sardor", "Ikrom"}

    fam = frozenset(famil)

    print(fam) # frozenset({'Sardor', 'Ikrom', 'Axmad'})


    frozenset turidagi to`plamlar ustuda quyidagi amallarni bajarish mumkin:
    len(s)s to`plam uzunligi (elementlari soni)ni qaytaradi;
    x in s True qiymat qaytaradi, agar x element s to`plamning tarkibida mavjud bo‟lsa;
    x not in s True qiymat qaytaradi, agar x element s to‟plamning tarkibida mavjud bo‟lmasa;
    s.issubset(t)True qiymat qaytaradi, agar t to‟plam s to‟plamni o‟z ichiga olsa;
    s.issuperset(t)True qiymat qaytaradi, agar s to‟plam t to‟plamni o‟z ichiga olsa;
    s.union(t)s va t to‟plamlarning birlashmasidan tashkil topgan yangi to‟plamni qaytaradi;
    s.intersection(t)s va t to‟plamlarning kesishmasidan tashkil topgan yangi to‟plamni qaytaradi;
    s.difference(t)s to‟plamdan t to‟plamni ayirishdan hosil bo‟lgan yangi
    to‟plamni qaytaradi;
    s.copy() – s to‟plamning nusxasini qaytaradi;

    II BOB MISOLLAR


    Misol-1
    List=[['sfg','sardor'],['xxhdhdj','gsdhjammas',],['nddjmsm','kkshhdj']]
    List_dict=dict(List)
    print(List_dict)

    Misol-2
    users={1:'alfa',2:'beta',3:'gamma'}
    print(users[1])
    users[3]='sigma'
    print(users[3])

    Misol -3
    users={1:'asal',2:'anor',3:'gullar'}
    key=4
    if key in users:
    user=users[key]
    print(user)
    else:
    print('element topilmadi')

    Ushbu modul Python-ning umumiy maqsadli o'rnatilgan konteynerlari, dict, list, set va tuple-ga alternativalarni ta'minlovchi maxsus konteyner ma'lumot turlarini amalga oshiradi.
    UserDict dict subklassingni osonlashtirish uchun lug'at ob'ektlari atrofida o'rash UserList oson ro'yxati sinflarga uchun ro'yxati ob'ektlar atrofida jild UserString string subklassingini osonlashtirish uchun string ob'ektlari atrofida o'rash.
    Pythonda To'plamlar Nima? Python-dagi to'plamlar asosan konteyner ma'lumotlari turlari — ya'ni ro'yxatlar, kortejlar, to'plamlar va lug'atlardir. Ular foydalanishga asoslangan turli xil xususiyatlarga ega. Bu erda har bir konteyner ma'lumotlar turlari, albatta, nima tez sarlavhalari.
    Lists:
    ∎ qavs ichida e'lon qilingan ;
    ∎ o`zgaruvchan-ro'yxatni e'lon qilganingizdan so'ng qiymatlarni o'zgartirishi mumkin ;
    ∎ ikki nusxadagi qiymatlarni saqlashi mumkin indekslar orqali kirish mumkin bo'lgan qiymatlar;
    Tuples:
    ∎ () qavs ichida e'lon qilingan buyurtma qilingan va o'zgarmas-ya'ni.;
    ∎siz e'lon qilganingizdan so'ng, katak ichidagi qiymatni o'zgartirib bo'lmaydi;
    ∎ ikki nusxadagi yozuvlarga ega bo'lishi mumkin;
    Sets:
    ∎ {} qavs ichida e'lon qilingan tartibsiz va indekslanmagan-ya'ni.;
    ∎ qadriyatlar mavjud emas takroriy yozuvlar yo'q;
    Dictionaries:
    ∎ {} qavs ichida e'lon qilingan kalit-qiymat juftliklari mavjud;
    ∎ o'zgaruvchan-lug'at ichidagi qiymatlarni o'zgartirishi mumkin;
    Bu Python-ning umumiy maqsadli o'rnatilgan konteyner turlari. Biroq, Python har doim biroz qo'shimcha narsaga ega, bu bizni to'plamlar moduliga olib keladi.

    • Python Bir To'plamlari Moduli Nima? Python ning collections moduli asosiy in-qurilgan to'plamlari ma'lumotlar turi kamchiliklarini o'z ichiga olgan maxsus yig'ish ma'lumotlar tuzilishi. Bu ro'yxatlar, kortejlar, to'plamlar va lug'atlarga muqobildir. Shuni ham ta'kidlash kerakki, bu modul bo'lgani uchun uni import yordamida import qilishingiz kerak bo'ladi. Quyida turli xil ixtisoslashtirilgan yig'ish ma'lumotlar tuzilmalari nima qilishi mumkinligi haqida umumiy xulosa keltirilgan.

    Python dasturlash tili to'rt yig'ish ma'lumotlar turlari bor - ro'yxat, Nizomning, silsilasini va lug'at. Lekin python ham asosan to'rt ma'lumotlar turlari kamchiliklar uchun o'z ichiga olgan maxsus ma'lumotlar tuzilmalarni ega to'plamlari sifatida tanilgan, bir ajralmas moduli bilan keladi. Ushbu blogda biz ushbu ixtisoslashtirilgan ma'lumotlar tuzilmalarining har birini batafsil ko'rib chiqamiz. Quyidagi bu blog kafan fanlar bor:
    Pythonda To'plamlar Nima?
    Python Collections asosan konteyner ma'lumotlar turlari, ya'ni ro'yxati, silsilasini, umumiy bo'lim, lug'at bor. Ular deklaratsiya va foydalanishga asoslangan turli xil xususiyatlarga ega.
    ∎Ro'yxat kvadrat qavs ichida e'lon qilinadi, u o'zgaruvchan, takroriy qiymatlarni saqlaydi va elementlarga indekslar yordamida kirish mumkin.
    ∎Nizomning tabiatda buyurdi va o'zgarmas bo'ladi, ikki nusxadagi yozuvlari Nizomning ichida bo'lishi mumkin bo'lsa-da,.
    ∎To'plam tartibsiz va kvadrat qavs ichida e'lon qilinadi. U indekslanmagan va takroriy yozuvlarga ega emas.
    ∎Lug'at asosiy qiymat juftlariga ega va tabiatan o'zgaruvchan. Lug'atni e'lon qilish uchun kvadrat qavslardan foydalanamiz.
    Bu python-ning umumiy maqsadli o'rnatilgan konteyner ma'lumotlari turlari. Ammo barchamizga ma'lumki, python har doim qo'shimcha narsalarni taklif qiladi. U maxsus ma'lumotlar tuzilmalariga ega collections nomli python moduli bilan birga keladi.
    Ixtisoslashgan Yig'ish Ma'lumotlar Tuzilmalari
    Python Collections moduli python ajralmas konteyner ma'lumotlar turlari muqobil ta'minlash maxsus ma'lumotlar tuzilmalarni amalga oshiradi. Quyida to'plamlar modulidagi maxsus ma'lumotlar tuzilmalari keltirilgan.

    Download 318.09 Kb.
    1   2   3   4   5   6   7   8   9   10




    Download 318.09 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy ta`lim, fan va innovatsiyalar vazirligi chirchiq davlat pedagogika universiteti

    Download 318.09 Kb.