Python Sözlükler (Dictionary)

Python’da sözlük (dictionary), anahtar-değer (key-value) çiftlerinden oluşan bir veri yapısıdır. Sözlükler, hızlı veri erişimi ve saklama için kullanılır. Her anahtar benzersizdir ve bir değere bağlıdır.


Sözlük Oluşturma

Sözlükler süslü parantez {} kullanılarak oluşturulur.

# Boş bir sözlük
boş_sözlük = {}

# Anahtar-değer çiftleri ile sözlük
öğrenci = {
    "ad": "Ali",
    "soyad": "Yılmaz",
    "yaş": 20,
    "ders": "Matematik"
}

Sözlük Elemanlarına Erişim

Bir anahtarın değerine erişmek için anahtar adı kullanılır.

print(öğrenci["ad"])      # Ali
print(öğrenci["yaş"])     # 20

Eğer anahtar yoksa, KeyError hatası alınır. Bunun yerine get() metodu kullanılabilir:

print(öğrenci.get("ders"))        # Matematik
print(öğrenci.get("not", "Yok"))  # Yok

Sözlükteki Elemanları Güncellemek

Bir anahtarın değerini değiştirmek:

öğrenci["yaş"] = 21
print(öğrenci)
# {'ad': 'Ali', 'soyad': 'Yılmaz', 'yaş': 21, 'ders': 'Matematik', 'not': 95}

Sözlükten Eleman Silmek

Sözlükteki elemanları silmek için birkaç yöntem vardır:

# Belirli bir anahtarı sil
del öğrenci["ders"]
print(öğrenci)
# {'ad': 'Ali', 'soyad': 'Yılmaz', 'yaş': 21, 'not': 95}

# pop() metodu ile eleman silme
not_değeri = öğrenci.pop("not")
print(not_değeri)  # 95
print(öğrenci)     # {'ad': 'Ali', 'soyad': 'Yılmaz', 'yaş': 21}

# Tüm elemanları sil
öğrenci.clear()
print(öğrenci)  # {}

Sözlük Üzerinde Döngü Kullanımı

  1. Anahtarları döngüde gezinmek:
for anahtar in öğrenci:
    print(anahtar)
# ad
# soyad
# yaş
  1. Anahtarları döngüde gezinmek:
for anahtar, değer in öğrenci.items():
    print(f"{anahtar}: {değer}")
# ad: Ali
# soyad: Yılmaz
# yaş: 21
  1. Anahtarları döngüde gezinmek:
for değer in öğrenci.values():
    print(değer)
# Ali
# Yılmaz
# 21

Sözlük Metotları

Python sözlüklerle çalışmayı kolaylaştıran çeşitli metotlara sahiptir:

  • keys(): Tüm anahtarları döner.
print(öğrenci.keys())  # dict_keys(['ad', 'soyad', 'yaş'])
  • values(): Tüm değerleri döner.
print(öğrenci.values())  # dict_values(['Ali', 'Yılmaz', 21])
  • items(): Tüm anahtar-değer çiftlerini döner.
print(öğrenci.items())  # dict_items([('ad', 'Ali'), ('soyad', 'Yılmaz'), ('yaş', 21)])
  • pop(): Belirtilen anahtarı ve değerini döner, sonra sözlükten siler.
yaş = öğrenci.pop("yaş")
print(yaş)  # 21
  • update(): Sözlüğe birden fazla anahtar-değer ekler veya günceller.
öğrenci.update({"not": 85, "şube": "A"})
print(öğrenci)
# {'ad': 'Ali', 'soyad': 'Yılmaz', 'not': 85, 'şube': 'A'}

Örnek Uygulama: Öğrenci Kayıt Sistemi

Birden fazla öğrencinin bilgilerini bir sözlük içinde saklayalım:

öğrenciler = {}

for i in range(3):
    ad = input("Öğrencinin adı: ")
    yaş = int(input("Öğrencinin yaşı: "))
    sınıf = input("Öğrencinin sınıfı: ")

    öğrenciler[ad] = {"yaş": yaş, "sınıf": sınıf}

print("Tüm öğrenciler:")
for ad, bilgiler in öğrenciler.items():
    print(f"{ad} -> Yaş: {bilgiler['yaş']}, Sınıf: {bilgiler['sınıf']}")

Örnek Çıktı:

Öğrencinin adı: Ali
Öğrencinin yaşı: 20
Öğrencinin sınıfı: 11A
Öğrencinin adı: Ayşe
Öğrencinin yaşı: 19
Öğrencinin sınıfı: 11B
Öğrencinin adı: Mehmet
Öğrencinin yaşı: 21
Öğrencinin sınıfı: 12A
Tüm öğrenciler:
Ali -> Yaş: 20, Sınıf: 11A
Ayşe -> Yaş: 19, Sınıf: 11B
Mehmet -> Yaş: 21, Sınıf: 12A

Leave a Reply

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir