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ı
- Anahtarları döngüde gezinmek:
for anahtar in öğrenci:
print(anahtar)
# ad
# soyad
# yaş
- Anahtarları döngüde gezinmek:
for anahtar, değer in öğrenci.items():
print(f"{anahtar}: {değer}")
# ad: Ali
# soyad: Yılmaz
# yaş: 21
- 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