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.
Mavzular ro‘yxati (6 / 11)
1-bob. Algoritmlar
2-bob. Ma’lumotlar tuzilmasi
3-bob. Ma’lumotlar bazalari
4-bob. Zamonaviy texnologiyalar va loyihalar
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
- 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. - 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) + 1dan foydalaning). - 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.
1Lug‘at ro‘yxatdan nimasi bilan farq qiladi?Javobni ko‘rishJavobni yashirish
Ro‘yxatda element raqami (indeks) bo‘yicha, lug‘atda esa kalit bo‘yicha murojaat qilinadi.2Ro‘yxatdan takrorlanuvchi elementlarni qanday olib tashlash mumkin?Javobni ko‘rishJavobni yashirish
Ro‘yxatni to‘plamga aylantirish kerak: `set(a)` takrorlanmaydigan elementlarni qoldiradi.
Saytga kiring
Slaydlar va PDF faqat ro‘yxatdan o‘tgan foydalanuvchilar uchun: ko‘rish ham, yuklab olish ham. Kirish bepul.
Saytga kiring
Slaydlar va PDF faqat ro‘yxatdan o‘tgan foydalanuvchilar uchun: ko‘rish ham, yuklab olish ham. Kirish bepul.
0 / 11 mavzu o‘tildi
Kirib belgilash