Asosiy kontentga o‘tish
Informatik.uz
2-bob. Ma’lumotlar tuzilmasi

Lug‘atlar va to‘plamlar

Lug‘at kalit bo‘yicha qiymatni tez topadi, to‘plam esa takrorlanmaydigan elementlarni saqlaydi. Python’dagi `dict` va `set` tuzilmalarining vazifasi va amallarini o‘rganamiz.

6-mavzu / 112 daq o‘qishYangilangan: 27-oktabr, 2026
Mavzular ro‘yxati (6 / 11)

Lug‘at (dict) — “kalit: qiymat” juftliklaridan iborat tuzilma. Ro‘yxatda element raqami (indeks) bo‘yicha, lug‘atda esa kalit bo‘yicha topiladi: masalan, o‘quvchi ismi bo‘yicha uning bahosi. Bo‘sh lug‘at d = dict() bilan yaratiladi, qiymat d["Ali"] = 5 bilan qo‘shiladi va o‘qiladi: d["Ali"]. Kalitlar takrorlanmaydi; bir xil kalitga yangi qiymat yozilsa, eskisi almashadi.

Lug‘at bilan ishlashda quyidagi amallar ko‘p uchraydi: "Ali" in d — kalit bor-yo‘qligini tekshirish, d.get("Vali", 0) — kalit yo‘q bo‘lsa 0 qaytarish, del d["Ali"] — o‘chirish, d.items() — barcha juftliklarni sikl bilan aylanish. Lug‘atda kalit bo‘yicha qidirish juda tez, chunki kalit bo‘yicha qiymat joylashgan joy to‘g‘ridan-to‘g‘ri aniqlanadi. Shuning uchun lug‘at tez-tez sanash masalalarida qo‘llanadi, masalan matndagi har bir so‘zning necha marta uchrashini hisoblashda.

To‘plam (set) — takrorlanmaydigan elementlar majmuasi, uning tartibi ahamiyatsiz. set([1, 2, 2, 3, 3, 3]) ifodasi faqat 1, 2, 3 elementlarini saqlaydi, shuning uchun to‘plam ro‘yxatdan takrorlarni olib tashlashning eng qisqa yo‘li. Elementni s.add(4) bilan qo‘shamiz, borligini esa 4 in s bilan tekshiramiz.

To‘plamlar uchun matematikadagi amallar mavjud: birlashma a | b, kesishma a & b, ayirma a - b. Masalan, a = set([1, 2, 3]) va b = set([2, 3, 4]) bo‘lsa, a & b — 2, 3, a | b — 1, 2, 3, 4. Tuzilmani tanlash masalaga bog‘liq: tartibli ketma-ketlik kerak bo‘lsa — ro‘yxat, kalit bo‘yicha qidirish kerak bo‘lsa — lug‘at, takrorlarni yo‘qotish va tez tekshirish kerak bo‘lsa — to‘plam.

Asosiy xulosalar

  • Lug‘at “kalit: qiymat” juftliklarini saqlaydi va qiymatni kalit bo‘yicha tez topadi.
  • Lug‘atda kalitlar takrorlanmaydi: bir xil kalitga yozilgan yangi qiymat eskisini almashtiradi.
  • To‘plam takrorlanmaydigan elementlarni saqlaydi va tartibga bog‘liq emas.
  • To‘plamlar uchun birlashma, kesishma va ayirma amallari bor.
  • Tuzilmani masalaga qarab tanlanadi: ro‘yxat, lug‘at yoki to‘plam.

Amaliy topshiriqlar

  1. Lug‘at yarating: 3 ta o‘quvchi ismi kalit, ularning informatika baholari qiymat bo‘lsin. Bitta o‘quvchining bahosini o‘zgartiring va barcha juftliklarni d.items() yordamida ekranga chiqaring.
  2. Foydalanuvchi kiritgan gapdagi har bir so‘z necha marta uchrashini lug‘at yordamida sanaydigan dastur yozing (maslahat: gapni split() bilan so‘zlarga ajrating, d.get(w, 0) + 1 dan foydalaning).
  3. Ikki ro‘yxat berilgan: [1, 2, 3, 4, 4] va [3, 4, 5]. To‘plamlar yordamida ularning umumiy elementlarini va birlashmasini toping, birinchi ro‘yxatdan takrorlarni olib tashlang.

Mustahkamlash savollari

O‘zingizni sinab ko‘ring: avval o‘ylab ko‘ring, keyin javobni oching.

  1. 1Lug‘at ro‘yxatdan nimasi bilan farq qiladi?
    Ro‘yxatda element raqami (indeks) bo‘yicha, lug‘atda esa kalit bo‘yicha murojaat qilinadi.
  2. 2Ro‘yxatdan takrorlanuvchi elementlarni qanday olib tashlash mumkin?
    Ro‘yxatni to‘plamga aylantirish kerak: `set(a)` takrorlanmaydigan elementlarni qoldiradi.

0 / 11 mavzu o‘tildi

Kirib belgilash
Informatika 11-sinf darsligi muqovasi
DarslikdaInformatika — 11-sinf