Lug’at Pathon dasturlash tilining turi hisoblanadi va u ikki qismdan tashkil topgan: kalit so'z va izoh (yoki tarjima). Lug’atlar {} qavsda keltiriladi. Sodda lug’atga misol keltiramiz:
talaba={’familiya’:’Aliyev’,’ismi’:’Salim’}
Bu yerda sodda talaba lug’atini yaratdik. Lug’atimiz ikki qismdan tashkil topgan. ‘familiya’ va ‘ismi’ lug’atning kalit so’zi hamda mos ravishda ‘Aliyev’ va ‘Salim’ kalit so’zlarning qiymati hisoblanadi. Kalit so'z va qiymat orasi ikki nuqta (:) bilan, lug'atdagi har bir juftlik esa vergul (,) bilan ajratiladi.
Pytonda lug'at kalit so'z-qiymat juftliklarining yi'ginidisi ekan. Lug'atdagi biror qiymatni ko'rish uchun unga kalit so'z orqali murojat qilamiz:
|
|
Aliyev Salim |
Lug'atdagi qiymatlar son (int, float), matn (string), ro'yxat (list, tuple) va hatto boshqa lug'at ham bo'lishi mumkin. Lug'aga yangi kalit so'z va qiymatlar qo'shishimiz ham mumkin. Yuqoridagi talaba nomli lu'gatga yana 3 ta yangi, yosh, kurs va fakultet nomli, kalit so'zlar va qiymatlar qo'shamiz:
![]() |
{'familiya': 'Aliyev', 'ismi': 'Salim', 'yosh': 18, 'kurs': 1, 'fakultet': 'aniq fanlar'} |
Ba'zida dastur boshida bo'sh lug'at yaratib, dastur davomida lug'atga yangi ma'lumotlar kiritib borish talab qilinishi mumkin. Bunday holatda bo'sh lug'at quyidagicha yaratiladi:
talaba_0={}
dastur davomida lug’at qiymati kiritiladi.
![]() |
{'familiya': 'Saidov Olim', 'yosh': 20, 'kurs': 3, 'fakultet': 'aniq fanlar'} |
Biror kalit so'zga tegishli qiymatni o'zgartirish esa quyidgachia amalga oshiriladi:
![]() |
{'familiya': 'Saidov Olim', 'yosh': 19, 'kurs': 3, 'fakultet': 'aniq fanlar'} |
Kalit so’z va qiymatini ochirish uchun del operatoridan foydalanamiz:
![]() |
{'familiya': 'Saidov Olim', 'yosh': 20, 'kurs': 3} |
Uzun lug'atlarni bir necha qatorga bo'lib yozishimiz ham mumkin. Yuqoridagi lug’atni quydagi ko’rinishda yozish mumkin:
talaba_0={
'familiya': 'Saidov Olim',
'yosh': 20,
'kurs': 3,
'fakultet': 'aniq fanlar'
}
1. .get() METODI
Biz shu vaqtgacha lug'atdagi qiymatlarni ko'rish uchun to'g'ridan-to'g'ri kalit so'z orqali murojat qilayotgan edik.
![]() |
Aniq va tabiiy fanlar fakulteti talabasi Saidov Olim |
Bu usulning kamchiligi shundaki, agar lug'atda siz so'ragan kalit topilmasa, dastur KeyError xatoligi bilan to'xtab qoladi.
![]() |
talaba=talaba_0['ism'] KeyError: 'ism' |
Lug'atda 'ism' kalit so'zi bo'lmagani uchun, yuqoridagi kod KeyError degan xatoni qaytardi. KeyError ham Run time error qatoriga kiradi.
Bunday xatoni kelib chiqmasligi uchun get() metodi yordamida lug'atga murojat qilish va mavjud bolmagan kalitning o'rniga biror xabar qaytarish mumlik.
![]() |
Bunday ism mavjud emas |
2. .items() METODI
Ushbu metod yordamida lug'at ichidagi barcha kalit-qiymat juftliklarini ko'rishimiz mumkin.
![]() |
dict_items([('familiya', 'Saidov'), ('ismi', 'Olim'), ('yosh', 20), ('kurs', 3), ('fakultet', 'aniq fanlar')]) |
3. .keys() METODI
Agar lug'atdagi kalit so'zlarni ko'rish talab qilinsa, .keys() metodidan foydalanishimiz mumkin.
![]() |
dict_keys(['familiya', 'ismi', 'yosh', 'kurs', 'fakultet']) |
4. .sorted() funksiya
Agar lug'at elementlarini alifbo bo'yicha chiqarish talab qilinsa, funktsiyasidan foydalanamiz.
![]() |
['fakultet', 'familiya', 'ismi', 'kurs', 'yosh'] |
5. .values() METODI
Agar lug'atdagi qiymatlarni chiqarish talab qilinsa .values() metodidan foydalanishimiz mumkin.
![]() |
dict_values(['Saidov', 'Olim', 20, 3, 'aniq fanlar']) |
Yuqoridagi usul bilan qiymatlarni chiqarganimizda, lug'atdagi barcha qiymatlar chiqib keladi. Agar, biror qiymat ko'p marta qaytarilsa, konsolga ham ko'p marta chiqib keladi.
![]() |
Foydalanuvchilar quyidagi telefonlarni ishlatishadi:iphone xgalaxy s9mi 10 pronokia 3310galaxy s9huawei p30iphone xiphone x |
6. update() metodi belgilangan kalit-qiymat juftlari bilan lug'atni yangilaydi
![]() |
{'nom': 'Python asoslari', 'muallif': 'M.Mamarajabov', 'yil': 2021, 'adadi': 500, 'nashriyot_nom': 'Sharq'} |
8. pop() metodi belgilangan kalit yordamida element o'chiriladi
![]() |
{'nom': 'Python asoslari', 'yil': 2021, 'adadi': 500} |
9. popitem() metodi oxirgi kiritilgan kalit-qiymat juftligini olib tashlaydi
![]() |
{'nom': 'Python asoslari', 'muallif': 'M.Mamarajabov', 'yil': 2021} |
10. clear() metodi lug'atdan barcha elementlarni olib tashlaydi
![]() |
{} |
11. copy() metodi lug'at nusxasini qaytaradi
![]() |
{'nom': 'Python asoslari', 'muallif': 'M.Mamarajabov', 'yil': 2021, 'adadi': 500} |
12. dict() funksiyasi lug'at nusxasini qaytaradi
![]() |
{'nom': 'Python asoslari', 'muallif': 'M.Mamarajabov', 'yil': 2021, 'adadi': 500} |
13. setdefault() metodi belgilangan kalit qiymatini qaytaradi. Agar kalit bo'lmasa: kalitni belgilangan qiymat bilan kiriting
![]() |
2021 |
14.Pythonda ichma-ich lug’atlardan foydalanish mumkin
![]() |
{'kitob1': { 'nom': 'Python asoslari', 'muallif': 'M.Mamarajabov', 'yil': 2021, 'adadi': 500}, 'kitob2': {'nom': 'C++', 'muallif': 'R.Turayev', 'yil': 2020, 'adadi': 200}, 'kitob3': {'nom': 'PHP7', 'muallif': 'Sh.Mengliyev', 'yil': 2019, 'adadi': 250}} |
Pythonda foydalaniladigan metodlar quyidagilarni tashkil etadi
|
Usul |
Tavsifi |
|
Lug'atdan barcha elementlarni olib tashlaydi |
|
|
Lug'at nusxasini qaytaradi |
|
|
Belgilangan kalitlar va qiymati bo'lgan lug'atni qaytaradi |
|
|
Belgilangan kalit qiymatini qaytaradi |
|
|
Har bir kalit qiymat juftligi uchun tuple o'z ichiga olgan ro'yxatni qaytaradi |
|
|
Lug'at kalitlari bo'lgan ro'yxatni qaytaradi |
|
|
Belgilangan kalit yordamida element o'chiriladi |
|
|
Oxirgi kiritilgan kalit-qiymat juftligini olib tashlaydi |
|
|
Belgilangan kalit qiymatini qaytaradi. Agar kalit bo'lmasa: kalitni belgilangan qiymat bilan kiriting |
|
|
Belgilangan kalit-qiymat juftlari bilan lug'atni yangilaydi |
|
|
Lug'atdagi barcha qiymatlar ro'yxatini qaytaradi |
Eslatma. Amaliyot jarayonida lug’at ichida ro’yxat hamda lug’at ichida lug’at bilan ishlash talab etiladi. Bunday topshiriqlarni bajarishda yuqoridagi o’rganildan kabi bajariladi.
Mustaqil yechish uchun topshiriqlar
Masala 1. Kompyuter nomli bo’sh lug’at yarating.
Masala 2. Kompyuter nomli lug’at yarating va kalit so’zlar orqali o’zgartiring.
Masala 3. Kompyuter nomli lug’atga get metodi qo’llang.
Masala 4. Kompyuter qo’shimcha qurilmalari yomli lug’at yarating. Barcha kalitlar ro’yxatini chiqaring.
Masala 5. Kompyuter qo’shimcha qurilmalari nomli lug’at yarating va items() metodi yordamida lug’atni chop qiling.
Masala 6. Kompyuter qo’shimcha qurilmalari nomli lug’at yarating va lug’at tarkibini o’zgartiring.
Masala 7. Kompyuter qo’shimcha qurilmalari nomli lug’at yarating va alifbo bo’yicha saralang.
Masala 8. Kompyuter qo’shimcha qurilmalari nomli lug’at yarating va lug’at tarkibini o’zgartiring.
Masala 9. Mevalar nomli lug’at yarating kalit so’z orqali lug’at tarkibini tozalang.
Masala 10. Mevalar nomli lug’at yarating va oxirgi kiritilgan elementni olib tashlang.
Masala 11. Mevalar nomli lug’at yarating va mevalar2 yangi lug;atga nusxa ko’chiring.
Masala 12. Mevalar nomli lug’at yarating va dict() funksiyasi yordamida nusxalang.
Masala 13. Kompyuter va kompyuter ichki qurilmalari nomli ichma-ich lug’at yarating.
Masala 14. Mevalar nomli lug’at yarating va kalit so’z orqali lug’at elementlarini o’chiring.
Masala 15. Uquv qurollari nomli lug’at yarating va values() metodini yordamida amal bajaring.