"Tom", 2: "Bob", 3: "Bill"
Download 14.04 Kb.
|
- Bu sahifa navigatsiya:
- Lug’atlarni ko’chirish va birlashtirish.
- "ismi" : "Sardor" , "yoshi"
- "ismi" : "Sardor" , "yoshi" : 34} l2 = {"kursi" : 1, "yo`nalishi" : "IAT"
- Lug’at elementlariga murojaat.
- "+99890123" : "Tolmas" , "+99890124" : "Bobur" , "+99890125" : "Alisher" } for tal in
- "+99890123" : "Tolmas" , "+99890124" : "Bobur" , "+99890125" : "Alisher" } for
- "+99890123" : "Tolmas" , "+99890124" : "Bobur" , "+99890125" : "Alisher" } lugatning kalitlariga murojaat print("Kalitlar:"
- Kompleks (murakkab) lug’atlar
- "Zafar" : { "email" : "zafar@nuu.uz" , "tel" : "+99890933" , "manzil" : "Univer ko`chasi 4" }, "Rustam"
- "Zafar" ]["telegram"
- "telegram" if key in
if key in bahoDict: baho = bahoDict[key] print(baho)
else: print("Element topilmadi") # Javob: Element topilmadi Shu bilan birga, lug’atning biror elementini olish uchun get metodidan hamfoydalanish mumkin bo’lib u ikki xil shaklda qo’llaniladi: get(key) – lug’atning key kalitli elementni qaytaradi. Agar lug’atda key kalitli element mavjud bo’lmasa None qiymati qaytariladi. get(key, default) - lug’atning key kalitli elementni qaytaradi. Agar lug’atda key kalitli element mavjud bo’lmasa default qiymati qaytariladi. Masalan:
Lug’atdan elementni o’chirish. Lug’atdan kalit orqali elementni o’chirishuchun del operatoridan foydalaniladi:
Shuni alohida ta’kidlash lozimki, agar lug’atda bunday kalit mavjud bo`lmasaKeyError istisno xatoligi yuzaga keladi. Ushbu xatolikni oldini olish uchun dastlab bunday kalit lug’atda bor yoki yo’qligini tekshirish tavsiya qilinadi:
O’chirishning boshqa bir usuli – pop() metodi orqali amalga oshiriladi. U ikkixil shaklda qo’llaniladi: pop(key) – key kaliti bo’yicha elementni o’chiradi va qiymat sifatida o’chirilgan elementni qaytaradi. Agar berilgan kalit bo’yicha element topilmasa, KeyError istisno holati yuzaga keladi; pop(key, default) – key kaliti bo’yicha elementni o’chiradi va qiymat sifatida o’chirilgan elementni qaytaradi. Agar berilgan kalit bo’yicha element topilmasa, default qiymati qaytariladi.
Agar lug’atdagi barcha elementlarni o’chirish talab qilinsa, clear() metodidanfoydalanish mumkin:
Lug’atlarni ko’chirish va birlashtirish. Lug’atlarni ko’chirish uchun copy()metodidan foydalanilib, qiymat sifatida ushbu lug’atning elementlaridan tashkil topgan boshqa lug’at hosil qilinadi, masalan:
Lug’atlarni birlashtirish uchun update() metodidan foydalaniladi:
Yuqoridagi holatda l2 tarkibi o’zgarishsiz qoladi va l1 lug’at tarkibiga boshqalug’at elementlari qo’shiladi. Lug’at elementlariga murojaat. Lug’at elementlariga murojaat uning kaliti orqali amalga oshiriladi. Ayniqsa for operatori orqali lug’at elementlarini uning kaliti orqali olish juda qulay hisoblanadi:
Javobga quyidagi natija chiqariladi:
bu erda for operatoridagi t o’zgaruvchiga ketma – ket lug’at kaliti qiymatlari yuklanadi (chapdan o’nga qarab) va shu kalit orqali lug’at elementiga murojaat amalga oshiriladi. Lug’at elementlariga murojaat qilishning yana bir usuli items() metodini qo’llash orqali amalga oshiriladi. Yuqoridagi dastur kodi items() metodi orqali quyidagicha yoziladi va ayni bir xil natijaga erishiladi:
items() metodi qiymat sifatida kortejlar to’plamini qaytaradi. Har bir kortej elementi kalit (nomer) va qiymatlar (ism) juftligidan tashkil topadi. Lug’atdan faqat kalitlarini olish uchun keys() va faqat qiymatlarini olish uchun values() metodlaridan foydalaniladi, masalan:
Ushbu dastur ishga tushirilganda quyidagi javob ekranga chiqariladi: Kalitlar: +99890123; +99890124; +99890125; Qiymatlar: Tolmas; Bobur; Alisher; Kompleks (murakkab) lug’atlar. Lug’atlar faqatgina int, str, float, bool kabioddiy turlarga oid berilganlardangina emas, balki list, tuple, set, dict kabi murakkab tuzulmaviy berilganlardan ham tashkil topishi mumkin:
Yuqorida keltirilgan misolda loginData lug’ati (tashqi lug’at) o’z navbatida boshqa lug’atlar (ichki lug’atlar) dan tashkil topgan. Buday hollarda ichki lug’atni elementlariga quyidagi tarzda murojaat qilinadi:
lug’atda mavjud bo’lmagan kalit orqali uning elementiga murojaat amalga oshirilganda Python interpretatori KeyError turidagi istisno xatoligini yuzaga keltiradi:
bu erda “telegram” kalit so’zi mavjud emas. Shuning uchun istisno xatoligi ro’y berdi. Bunday xatoliklarning oldini olish uchun dastlab kalitning lug’atda bor yoki yo’qligini tekshirish tavsiya qilinadi:
Umuman olganda, murakkab lug’atlar (ichma – ich joylashgan) ustuda amallar oddiy lug’atlardagi kabi amalga oshiriladi. Download 14.04 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling