Python Hazır Kodlar


Python: Python Dersleri 19: Sözlük Fonksiyonları

Kodu Kopyala
#Python: Python Dersleri 19: Sözlük Fonksiyonları

doviz_kurlari={
    "1.01.2022":{"USD":13.44,"EUR":15.14},
    "2.01.2022":{"USD":13.44,"EUR":15.14},
    "3.01.2022":{"USD":13.09,"EUR":14.79},
    "4.01.2022":{"USD":13.37,"EUR":15.03},
    "5.01.2022":{"USD":13.49,"EUR":15.22},
    "6.01.2022":{"USD":13.73,"EUR":15.49},
    "7.01.2022":{"USD":13.87,"EUR":15.65},
    "8.01.2022":{"USD":13.87,"EUR":15.65},
    "9.01.2022":{"USD":13.87,"EUR":15.65},
    "10.01.2022":{"USD":13.87,"EUR":15.63},
    "11.01.2022":{"USD":13.84,"EUR":15.63},
    "12.01.2022":{"USD":13.80,"EUR":15.70},
    "13.01.2022":{"USD":13.60,"EUR":15.56},
    "14.01.2022":{"USD":13.53,"EUR":15.44},
    "15.01.2022":{"USD":13.53,"EUR":15.44},
    "16.01.2022":{"USD":13.53,"EUR":15.44},
    "17.01.2022":{"USD":13.44,"EUR":15.28},
    "18.01.2022":{"USD":13.58,"EUR":15.41},
    "19.01.2022":{"USD":13.55,"EUR":15.35},
    "20.01.2022":{"USD":13.37,"EUR":15.16},
    "21.01.2022":{"USD":13.40,"EUR":15.18},
    "22.01.2022":{"USD":13.40,"EUR":15.18},
    "23.01.2022":{"USD":13.40,"EUR":15.18},
    "24.01.2022":{"USD":13.41,"EUR":15.13},
    "25.01.2022":{"USD":13.52,"EUR":15.22},
    "26.01.2022":{"USD":13.55,"EUR":15.26},
    "27.01.2022":{"USD":13.61,"EUR":15.17},
    "28.01.2022":{"USD":13.57,"EUR":15.13},
    "29.01.2022":{"USD":13.57,"EUR":15.13},
    "30.01.2022":{"USD":13.57,"EUR":15.13},
    "31.01.2022":{"USD":13.40,"EUR":14.98},
    "1.02.2022":{"USD":13.38,"EUR":15.06},
    "2.02.2022":{"USD":13.56,"EUR":15.31},
    "3.02.2022":{"USD":13.54,"EUR":15.39},
    "4.02.2022":{"USD":13.53,"EUR":15.46},
    "5.02.2022":{"USD":13.53,"EUR":15.46},
    "6.02.2022":{"USD":13.53,"EUR":15.46},
    "7.02.2022":{"USD":13.56,"EUR":15.48},
    "8.02.2022":{"USD":13.63,"EUR":15.54}
}

#Herhangi bir sözlüğü listeye çevirmek isterseniz LIST fonksiyonunu kullanabilirsiniz. Bu fonksiyon ilgili sözlükteki anahtarları bir listeye atar.
print(list(doviz_kurlari))
#List fonksiyonu daha önce hatırlanırsa normal bir yazının harflerini listeye çeviriyordu.
print(list("selam"))
print(doviz_kurlari.keys())#Bu komut da aynı şekilde anahtarları bir listeye atar. Fakat kullanışlı değildir.
#Tüm değerleri görmek için aşağıdaki komut kullanılabilir.
print(doviz_kurlari.values())
#Değerleri aşağıdaki gibi de gösterebilirsiniz:
for anahtar in doviz_kurlari:
    print(anahtar,"tarihindeki döviz kurları:",doviz_kurlari[anahtar])
#Bu işlemi aşağıdaki örnekte daha da detaylandırabiliriz:
for anahtar in doviz_kurlari:
    print(anahtar,"tarihindeki döviz kurları: Dolar kuru",doviz_kurlari[anahtar]["USD"],"TL, Euro kuru",doviz_kurlari[anahtar]["EUR"],"TL")

#Hem anahtarları ve hem de değerleri bir arada gösteren ITEMS özelliği vardır.
print(doviz_kurlari.items())#Buradaki items() özelliği için iki sonraki örnek önemlidir. Zira bu işlem ileride çok kez karşımıza çıkacaktır.  
#print(doviz_kurlari) yazıldığında da benzer bir sonuç üretir.
#Peki “values()” metodu ne işimize yarar? Aşağıdaki örneği inceleyelim:

calisan_listesi={"İhsan Akkuş":["Yönetim",11950,"31.08.1977"],"Sabahattin Bor":["Muhasebe",13610,"31.05.1979"],"Nuray Ergin":["Üretim",10100,"26.06.1982"],"Melin Akaya":["Bilgi İşlem",12160,"19.06.1980"],"Yusuf Zeytin":["Üretim",12850,"28.03.1978"],"Mustafa Karataş":["Yönetim",11170,"11.07.1980"],"Reşat Hilmi Erdem":["Bilgi İşlem",10930,"9.05.1979"],"Güliz Rana Tellioğlu":["Muhasebe",14950,"1.10.1978"],"Emrullah Budak":["Muhasebe",14010,"27.02.1981"],"Ahmet Yaşar":["Bilgi İşlem",11380,"30.04.1978"],"Ayşe Yüksel":["Finans",10640,"3.02.1982"],"Benan İlayda Tellioğlu":["Bilgi İşlem",13790,"22.05.1978"],"Cihad Yıldız":["Bilgi İşlem",11370,"23.11.1979"],}
#Burada mesela Muhasebe çalışanlarını bulmak istiyorsak:
toplam=0
for eleman in calisan_listesi.values():
    if eleman[0]=="Muhasebe":
        toplam+=1
print("Muhasebede toplam",toplam,"kişi çalışmaktadır.")
#Bir de bu kişilerin kimler olduğunu bulalım:
for anahtar, deger in calisan_listesi.items():
    if deger[0]=="Muhasebe":
        print(anahtar)
#Yukarıdaki örneğe dikkat edin. Zira bir çok kez bu kurgu ilerleyen aşamalarda karşımıza çıkacaktır.for anahtar, deger in calisan_listesi.items()” kalıbı çok önemlidir.  calisan_listesi.items() kodu bize anahtar ve değeri verirken doğal olarak önüne yazılan anahtar, deger şeklindeki ifadelere atama yapacaktır.
#Ayrıca calisan_listesi.items() ifadesinin sonucu dict_items([('İhsan Akkuş', ['Yönetim', 11950, '31.08.1977']), ('Sabahattin Bor', ['Muhasebe', 13610, '31.05.1979'])… şeklinde bir ifade olup görüleceği gibi sonucun türü TUPLE olmaktadır. Zira sonuçlar incelendiğinde elemanlar parantez içinde gösterilmektedir. Sonuç TUPLE olduğu için anahtar, deger şeklindeki bir yaklaşım işe yaradı.



#Sözlüklerin bazı elemanları silinmek istendiğinde DEL fonksiyonunun yanında POP() özelliği de kullanılabilir. Listelerden farklı olarak POP() özelliğinde parantez içerisinde anahtar bulunmak zorundadır. Parantez boş bırakılamaz. Yoksa hata verir.
doviz_kurlari.pop("1.01.2022")
print(doviz_kurlari)
#Eğer ilgili anahtarda eleman yoksa bu durumda hata verir. Hata vermemesi için IF komutu kullanılabilir.
if "3.03.2023" in doviz_kurlari:
    doviz_kurlari.pop("3.03.2023")
print(doviz_kurlari)
#Silmenin bir yolu da POPITEM özelliğidir. POP ile benzer şekilde çalışır. Tek farkı POPITEM'da parantez içi boş bırakılır. Son elemanı siler. Günlük hayatta ihtiyacınız olma olasılığı düşüktür.
doviz_kurlari.popitem()
print(doviz_kurlari)
#Dizilerde bazı elemanları değiştirip diğerlerine dokunmamak istersek bu durumda aşağıdaki gibi UPDATE özelliği kullanılır:
doviz_kurlari.update({"7.02.2022":{"USD":111,"EUR":11111}})
print(doviz_kurlari)
#Bunu aynı zamanda şu şekilde de yapabiliriz:
doviz_kurlari["7.02.2022"]={"USD":222222,"EUR":222222}
print(doviz_kurlari)
#Yeni bir eleman eklemek için SETDEFAULT kullanılabilir:
doviz_kurlari.setdefault("5.5.2023",{"USD":1,"EUR":2})#Yazım şekline dikkat edin. Anahtar ve değer arasında virgül var. : ifadesi yok.
#Yukarıdaki işlem aynı zamanda daha önce gördüğümüz şu şekilde de yapılabilir:
doviz_kurlari["6.5.2023"]={"USD":1,"EUR":2}
print(doviz_kurlari)
#Dizilerin anahtarlar baz alınarak sıralanması için aşağıdaki işlem uygulanabilir:
print(sorted(doviz_kurlari))#Burada anahtarlar baz alınarak harf sırasına göre dizildi. Tarihler yazı olarak tanıtıldığı için onları yazı olarak algıladı.


#İlgili sözlüğü tamamen boşaltmak için CLEAR kullanılır. DEL kullanılırsa sözlüğü tamamen yok eder, CLEAR ise içeriğini temizler.
#del doviz_kurlari #gibi...
doviz_kurlari.clear()

print(doviz_kurlari)
#########################################################################
#Aşağıdaki örnekte sayılar ve kareleri var.
kareler={}#Öncelikle boş bir sözlük oluşturduk.
for i in range(1,101):
    kareler[i]=i**2
print(kareler)
#Sonuçları alt alta yazdırmak için:
for anahtar in kareler:
    print(anahtar,"sayısının karesi",kareler[anahtar])
#Sözlüklerde TYPE fonksiyonu <class 'dict'> sonucunu üretir.
print(type(kareler))






Hata ile ilgili görüşlerinizi aşağıdaki kutuya yazabilirsiniz.
Hata bildir

TÜM PYTHON KODLARI Youtube Kanalımız
Aşağıdaki makrolar işinize yarayabilir.
Benzer Sonuçlar
NoPython Kodu
1 Python Dersleri 19: Sözlük Fonksiyonları
2 Python Dersleri 22: Kümeler (Sets)
3 Python Dersleri 25: FOR Döngüsü Deyimleri: Break, Continue, Range, Enumerate, Zip
4 Python Dersleri 24: FOR Döngüsü Uygulamaları
5 Python Dersleri 23: FOR Döngüsü
6 Python Dersleri 18: Sözlük Uygulamaları
7 Python Dersleri 21: Demet (Tuple) Uygulamaları
8 Python Dersleri 27: Döngülerde ELSE Deyimi
9 Python Dersleri 20: Demetler (Tuples)
10 Python Dersleri 26: While Döngüsü
11 Hataları yakalamak ve hata deyimlerini kullanmak / TRY, EXCEPT, ValueError, ZeroDivisionError vb. hatalar ile ilgili işlemler Örnek olarak sıfıra bölme hatasının önüne geçme işlemi
12 Python sürümünü tespit etmek
13 Kullanılmakta olan Python dilinin versiyonunu görüntülemek
14 Bir metin içerisinde aranan harften kaç tane var?
15 Tek satıra veya birden fazla satıra not yazmak veya not almak
16 İngilizce Türkçe sözlük yapımı
17 İki nesnenin veya iki değerin aynı olup olmadığını tespit etmek. "Nesne (Object)" kavramı ile "Değer (Value)" arasındaki farklar
18 Python kullanarak bilgisayarı kapatmak
19 Sinüs (sin) hesaplama işlemleri
20 Çalışmakta olduğunuz Python dosyasının nerede ve hangi dizin içerisinde olduğunu tespit etmek


aaaaa