Tasavvur qiling, telefon daftaringizda ismlar va telefon raqamlari yozilgan. Ismni bilsangiz, unga mos raqamni topasiz. Bu — kalit-qiymat (key-value) juftligi. Pythonda aynan shunday ishlaydigano'ma ma'lumotlar tuzilmasi dictionary (lug'at) deyiladi.
Kalit (key) — qidirish uchun ishlatiladigan noyob belgi (ism, so'z, raqam). Qiymat (value) — kalitga mos bo'lgan ma'lumot (telefon raqami, ta'rif, baho).
Lug'at va parallel ro'yxatlarni solishtirish:
# Yomon usul: ikkita parallel ro'yxat
ismlar = ["Ali", "Vali", "Soli" ]
raqamlar = ["1234", "5678", "9012" ]
# Ali ning raqamini topish — murakkab!
indeks = ismlar.index("Vali")
print(raqamlar[indeks]) # 5678
# Yaxshi usul: dictionary
telefon_daftar = {
"Ali": "1234",
"Vali": "5678",
"Soli": "9012"
}
# Vali ning raqamini topish — oson!
print(telefon_daftar["Vali"]) # 5678Ko'rinib turibdiki, lug'at bilan ma'lumotga murojaat ancha qulay va tushunarliroq.
Lug'atning real hayotdagi misollari:
# Haqiqiy lug'at (so'z: ta'rif)
lugat = {
"algoritm": "Muammoni hal qilish uchun ketma-ket qadamlar",
"dastur": "Kompyuter uchun yozilgan ko'rsatmalar to'plami",
"o'zgaruvchi": "Qiymat saqlovchi nomlangan xotira joyi"
}
print(lugat["algoritm"])
# Muammoni hal qilish uchun ketma-ket qadamlar
# Talaba bahosi (fan: baho)
baholar = {
"matematika": 95,
"fizika": 88,
"ingliz tili": 76
}
print("Matematika bahosi:", baholar["matematika"]) # 95
print("Fizika bahosi:", baholar["fizika"]) # 88Lug'atni ko'rsatish:
talaba = {
"ism": "Kamol",
"yosh": 18,
"shahar": "Toshkent",
"baho": 92
}
print(talaba)
# {'ism': 'Kamol', 'yosh': 18, 'shahar': 'Toshkent', 'baho': 92}
# Kalitlar soni
print("Kalitlar soni:", len(talaba)) # 4Lug'atning asosiy xususiyatlari:
# Kalitlar noyob bo'lishi shart
sinov = {"a": 1, "b": 2, "a": 3}
print(sinov) # {'a': 3, 'b': 2} — "a": 1 o'chirildi, "a": 3 qoldiMuhim qoidalar:
{} qavslari bilan yaratiladi: bilan ajratiladi: {"kalit": "qiymat"}, bilan ajratiladidict["kalit"] bilan qiymatga murojaat qilinadiLug'at tushunchasini tekshirish
Quyidagi savollarga javob bering:
{"shahar": "Samarqand"} da kalit nima, qiymat nima?Bu mashq orqali siz: