Lug‘at va JSON: tuzilgan ma’lumot
Lug‘at (dictionary) kalit–qiymat juftliklarini figurali qavsda saqlaydi. Qiymatni kalit orqali olasiz: lugat["kalit"]. Qiymatni o‘zgartirish ham shunday: lugat["kalit"] = yangi.
model = {"nom": "Mini", "versiya": 2}
print(model["nom"])
model["versiya"] = 3
print(model["versiya"])NatijaMini
3JSON — ma’lumotni matn ko‘rinishida almashish formati; u Python lug‘ati va ro‘yxatiga juda o‘xshaydi. Dasturlar, jumladan sun’iy intellekt xizmatlari, bir-biriga ko‘pincha JSON yuboradi. Python’dagi json moduli: json.dumps(lugat) lug‘atni matnga, json.loads(matn) matnni lug‘atga aylantiradi.
import json
paket = {"rol": "foydalanuvchi", "matn": "Salom"}
matn = json.dumps(paket)
print(matn)
qayta = json.loads(matn)
print(qayta["rol"])Natija{"rol": "foydalanuvchi", "matn": "Salom"}
foydalanuvchiMurakkab javoblarda ma’lumot qatlam-qatlam joylashadi. Kerakli qiymatga yo‘lni kalitlar va indekslar ketma-ketligi bilan yozasiz: masalan d["xabarlar"][1]["matn"] — avval «xabarlar» ro‘yxati, undan ikkinchi element (indeks 1), undan «matn» qiymati.
Esda tuting
- Lug‘at:
{"kalit": qiymat}, o‘qish:lugat["kalit"]. json.dumps— lug‘atdan matn,json.loads— matndan lug‘at.- Ichma-ich ma’lumotga yo‘l:
d["a"][1]["b"].
Mashq
json.loads(matn) nima qiladi?
Javob va izoh
- JSON matnini Python lug‘atiga (yoki ro‘yxatiga) aylantiradi. (to‘g‘ri javob)
loadsmatnni o‘qib, Python ma’lumot tuzilmasini yaratadi. - Lug‘atni faylga yozadi.faylga yozish boshqa amal;
loadsfaylga tegmaydi. - Matnni boshqa tilga tarjima qiladi.
jsonmoduli tarjima qilmaydi, faqat formatni o‘zgartiradi.
Kod mashqlari
modelnomli lug‘at yarating:nomkaliti «Mini»,versiyakaliti 2 bo‘lsin. Keyinnomqiymatini chiqaring.
Maslahat: Lug‘at:{"kalit": qiymat, ...}. Qiymatni olish:model["nom"].dichidagi ma’lumotdan foydalanuvchi xabarining matnini (ikkinchi element) chiqaring.
Maslahat:d["xabarlar"]ro‘yxat; ikkinchi element indeksi 1; undan["matn"]qiymatini oling.
Mashqni ilovada bajaring.
Amaliy vazifa
O‘zingiz haqingizda lug‘at tuzing (ism, yosh, shahar), uni json.dumps bilan matnga aylantirib chiqaring. Haqiqiy shaxsiy ma’lumotingizni yozish shart emas.
- Lug‘at tuzdim
json.dumpsbilan matn oldim
Lug‘at
Interaktiv rejim: qidiruv, progress va Python mashqlari.
