# SÖZLÜKLER NEDİR VE NASIL KULLANILIR?
# Python'da Dictonary yani Sözlük nedir?
# Günlük hayattaki sözlüğe çok benzer. Bir öğenin karşılığını söyler. Örneğin: Apple --> Elma
# Anahtar --> Değer ifadeleri yani Key --> Value ile öğler bulunabilir.
# Örnek:
kisi = {"isim":"Osman","yas":32,"Cinsiyet":"E","Hobiler":["Yazmak","Okumak","Programlamak"]}
print(kisi)
# Çıktı: {'isim': 'Osman', 'yas': 32, 'Cinsiyet': 'E', 'Hobiler': ['Yazmak', 'Okumak', 'Programlamak']}
print(kisi["isim"]) # Osman (Sözlüklerde index değeri yerine anahtar kullanılır)
print(kisi["yas"]) # 32
# Değer değiştirme yani sözlük değerini güncelleme.
kisi["isim"] = "Selçuk"
print(kisi["isim"]) # Selçuk
# Aynı anda birden fazla alan güncelleme.
kisi.update({"isim":"İlter","Yas":33})
print(kisi) # {'isim': 'İlter', 'yas': 32, 'Cinsiyet': 'E', 'Hobiler': ['Yazmak', 'Okumak', 'Programlamak'], 'Yas': 33}
# Bir alanı ekleme. ID değer ve anahtarı ekleniyor
kisi["id"] = 123
print(kisi) # {'isim': 'İlter', 'yas': 32, 'Cinsiyet': 'E', 'Hobiler': ['Yazmak', 'Okumak', 'Programlamak'], 'Yas': 33, 'id': 123}
# Bir alan silme. ID değer ve anahtarı siliniyor.
del kisi["id"]
print(kisi) #{'isim': 'İlter', 'yas': 32, 'Cinsiyet': 'E', 'Hobiler': ['Yazmak', 'Okumak', 'Programlamak'], 'Yas': 33}
# For döngüsü ile sözlüğü yazdırma.
# Anahtarları yazdırma.
for x in kisi:
print(x)
# Çıktı:
# isim
# yas
# Cinsiyet
# Hobiler
# Yas
# Değerleri yazdırma.
for x in kisi:
print(kisi[x])
# Çıktı:
# İlter
# 32
# E
# ['Yazmak', 'Okumak', 'Programlamak']
# 33
# Sadece anahtarları yazdırma.
print(kisi.keys()) # dict_keys(['isim', 'yas', 'Cinsiyet', 'Hobiler', 'Yas'])
# Sadece değerleri yazdırma.
print(kisi.values()) # dict_values(['İlter', 32, 'E', ['Yazmak', 'Okumak', 'Programlamak'], 33])
# Anahtar ve değer olarak alma.
print(kisi.items()) # dict_items([('isim', 'İlter'), ('yas', 32), ('Cinsiyet', 'E'), ('Hobiler', ['Yazmak', 'Okumak', 'Programlamak']), ('Yas', 33)])
# For ile yazdırma.
for k,v in kisi.items():
print(k,v)
# Çıktı:
# isim İlter
# yas 32
# Cinsiyet E
# Hobiler ['Yazmak', 'Okumak', 'Programlamak']
# Yas 33
# hata almadan "yok" çıktısı alma.
# Normal yazdırma hata verir. Get ise "none" yani "yok" sonucunu verir.
# get değerinin aldığı ikinci parametre istediğiniz bir çıktıyı almanızı sağlar.
print(kisi.get("id")) #None
print(kisi.get("id","Bulunamadı")) # Bulunamadı