Python'da dictionary (lug'at) bilan ishlash

Saqlab olindi !

Python'da dictionary (lug'at) bilan ishlash

Python'da ma'lumot saqlashning ko'p usullari bor, lekin dictionary (lug'at) — ularning ichida eng ko'p ishlatilgani. Real loyihalarda foydalanuvchi ma'lumotlari, sozlamalar, API javoblari — barchasi dictionary ko'rinishida keladi. Shuning uchun uni yaxshi tushunish juda muhim.

Dictionary nima va u qanday ishlaydi

Dictionary — bu "kalit: qiymat" juftliklari to'plami. Xuddi haqiqiy lug'at kabi: so'z (kalit) va uning tarjimasi (qiymat).

# Bo'sh dictionary
d = {}

# Ma'lumotlar bilan dictionary
foydalanuvchi = {
    "ism": "Jasur",
    "yosh": 22,
    "shahar": "Toshkent",
    "faol": True
}

# Qiymatni olish
print(foydalanuvchi["ism"])       # Jasur
print(foydalanuvchi["yosh"])      # 22

get() usuli — xavfsiz o'qish

Agar kalit mavjud bo'lmasa, to'g'ridan-to'g'ri [] bilan kirish xato beradi. get() esa xavfsizroq:

# Bu xato beradi (KeyError)
# print(foydalanuvchi["telefon"])

# Bu xato bermaydi, None qaytaradi
print(foydalanuvchi.get("telefon"))        # None

# Standart qiymat bilan
print(foydalanuvchi.get("telefon", "Kiritilmagan"))  # Kiritilmagan

Qiymat qo'shish va o'zgartirish

# Yangi kalit qo'shish
foydalanuvchi["kasb"] = "Backend dasturchi"
foydalanuvchi["ish_joyi"] = "TechCorp"

# Mavjud qiymatni o'zgartirish
foydalanuvchi["yosh"] = 23

print(foydalanuvchi)

Dictionary bo'ylab aylanish

talabalar_bahosi = {
    "Ali": 85,
    "Vali": 92,
    "Guli": 78,
    "Soli": 95
}

# Faqat kalitlar
for ism in talabalar_bahosi.keys():
    print(ism)

# Faqat qiymatlar
for baho in talabalar_bahosi.values():
    print(baho)

# Kalit va qiymat birgalikda
for ism, baho in talabalar_bahosi.items():
    if baho >= 90:
        print(f"{ism}: A'lo ({baho})")
    elif baho >= 70:
        print(f"{ism}: Yaxshi ({baho})")
    else:
        print(f"{ism}: Qoniqarli ({baho})")

Dictionary comprehension

Ro'yxat kabi, dictionary ham comprehension orqali tezda yaratiladi:

sonlar = [1, 2, 3, 4, 5]

# Har bir sonning kvadrati
kvadratlar = {son: son ** 2 for son in sonlar}
print(kvadratlar)  # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

# Faqat juft sonlar
juft_kvadratlar = {son: son ** 2 for son in sonlar if son % 2 == 0}
print(juft_kvadratlar)  # {2: 4, 4: 16}

Ko'p uchraydigan xatolar

ma'lumot = {"ism": "Jasur"}

# Xato: mavjud bo'lmagan kalit
# print(ma'lumot["yosh"])  # KeyError!

# To'g'ri: avval tekshirish
if "yosh" in ma'lumot:
    print(ma'lumot["yosh"])
else:
    print("Yosh kiritilmagan")

Maslahat: Dictionary'dan ma'lumot olishdan oldin doim get() usulidan foydalaning yoki in orqali kalit mavjudligini tekshiring. Bu sizni ko'p xatolardan saqlaydi.

+3

👍

+0

❤

+0

😎

+1

💥

+0

👽

+0

😐

+0

👎

Maqola teglari

Python
Abdurahmon Rashidov Python 147
Facebook Telegram

Bu haftada ko'p o'qildi

Kompyuter tarmoqlarining asosiy turlari

Kompyuter tarmoqlarining asosiy turlari

54199 1323
Umumiy tezkor tugmalar : shortcuts

Umumiy tezkor tugmalar : shortcuts

7989 170
Kesh xotira nima va uning vazifalari

Kesh xotira nima va uning vazifalari

7339 525

Mavzuga oid

Python va Django: amaliy va o'quv materiallari to'plami (2026)

Python va Django: amaliy va o'quv materiallari to'plami (2026)

86 0
Python top 3 ta eng yaxshi kitoblar (2026)

Python top 3 ta eng yaxshi kitoblar (2026)

84 1
Har bir Python dasturchi bilishi kerak bo'lgan 50 ta kutubxona

Har bir Python dasturchi bilishi kerak bo'lgan 50 ta kutubxona

118 3