Python’da sözlükler (“dictionary”), anahtar (key) ve değer (value) çiftlerinden oluşan, sırasız ama değerlere erişimde hızlı olan veri yapılarıdır. Sözlükler, JSON formatına benzediği için çoğu zaman veri değişiminde kullanılır.
Sözlük Tanımlama
# Boş bir sözlük tanımlama
bos_sozluk = {}
# Anahtar-değer çiftleri ile tanımlama
ogrenci = {
"ad": "Ali",
"soyad": "Yılmaz",
"yas": 21,
"notlar": [85, 90, 78]
}
Değerlere Erişim
print(ogrenci["ad"]) # Ali
yas = ogrenci["yas"]
print(yas) # 21
Değer Değiştirme
ogrenci["yas"] = 22
print(ogrenci["yas"]) # 22
Yeni Anahtar-Değer Ekleme
ogrenci["okul"] = "Anadolu Üniversitesi"
print(ogrenci)
Anahtar ile Silme
del ogrenci["notlar"]
print(ogrenci)
Tüm Anahtarları, Değerleri ve Çiftleri Listeleme
print(ogrenci.keys()) # dict_keys(['ad', 'soyad', 'yas', 'okul'])
print(ogrenci.values()) # dict_values(['Ali', 'Yılmaz', 22, 'Anadolu Üniversitesi'])
print(ogrenci.items()) # dict_items([('ad', 'Ali'), ('soyad', 'Yılmaz'), ('yas', 22), ('okul', 'Anadolu Üniversitesi')])
“in” Operatörü ile Anahtar Kontrolü
if "ad" in ogrenci:
print("Ad mevcut!")
Sözlük Üzerinde Döngü
for anahtar, deger in ogrenci.items():
print(f"{anahtar}: {deger}")
Sözlük Kullanımına Yönelik Bir Uygulama
Birden fazla öğrencinin notlarını tutan bir yapı:
sinif = {
"Ali": [90, 85, 78],
"Ayşe": [88, 92, 80],
"Mehmet": [70, 75, 68]
}
# Ayşe'nin notlarını yazdıralım
print(sinif["Ayşe"])
Özet
Sözlükler, esnek ve güçlü bir veri yapısı sunar. Anahtarlar sayesinde veriye isimle erişim sağlanır ve karmaşık veri yapıları rahatça temsil edilebilir. Bu nedenle Python’da çok sık kullanılırlar.