Professional Documents
Culture Documents
Sözlükler de Tuple ve List veri türleri gibi farklı veri türleri bulunduran
bulundan mutable(değiştirilebilir) veri türü olduğunu ve süslü parantezlerle
gösterildiğini söylemiştik.
Fakat sözlükler biraz farklıdır çünkü Sözlükler iki kısımdan oluşur;
keys(anahtar) ve value(değer), value kısmı bütün veri türünü içerebilir fakat
keys kısmı sadece string ve int tipinde olabilir.
1 sozluk ={"Computer":"Bilgisayar",
2 "Driver":"Sürücü",
3 "Memory":"Hafıza",
4 "Output":"Çıktı",
5 "Software":"Yazılım",
6 "Printer":"Yazıcı"}
7
8 print(sozluk["Computer"])
9
10 Bilgisayar
Burada dikkat etmemiz gereken bir şey var biz sözlüklere erişirken diğer
veri türlerinde olduğu gibi köşeli parantezler içinde çağıramıyoruz sebebi
ise şu Sözlükler sıralı veri tipleri değiller hemen bir örnek ile size
göstereyim;
1 sayilar ={"1":"bir","2":"iki","3":"üç","4":"dört","5":"beş"}
2
3 print(sayilar)
4
5 {'1': 'bir', '3': 'üç', '2': 'iki', '5': 'beş', '4': 'dört'}
Sözlük Metotları
Hemen sözlük metotlarını sıralayalım;
1 ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
Metotlarını bu derste işleyeceğiz.
Keys Metodu
1 sozluk ={"Computer":"Bilgisayar","Driver":"Sürücü","Memory":"Hafıza",
2 "Output":"Çıktı","Software":"Yazılım","Printer":"Yazıcı"}
3
4 print(sozluk.keys())
5
6 dict_keys(['Printer', 'Driver', 'Computer', 'Software', 'Output', 'Memory'])
Values Metodu
1 sozluk ={"Computer":"Bilgisayar",
2 "Driver":"Sürücü",
3 "Memory":"Hafıza",
4 "Output":"Çıktı",
5 "Software":"Yazılım",
6 "Printer":"Yazıcı"}
7
8 print(sozluk.values())
9
10 dict_values(['Yazılım', 'Çıktı', 'Bilgisayar', 'Hafıza', 'Sürücü', 'Yazıcı'])
Items Metodu
1 sozluk ={"Computer":"Bilgisayar",
2 "Driver":"Sürücü",
3 "Memory":"Hafıza",
4 "Output":"Çıktı",
5 "Software":"Yazılım",
6 "Printer":"Yazıcı"}
7
8 print(sozluk.items())
9
1 dict_items([('Output', 'Çıktı'), ('Printer', 'Yazıcı'), ('Computer', 'Bilgisayar'), ('Software', 'Yazılım'), ('Memory', 'Hafıza'),
0 ('Driver', 'Sürücü')])
Get Metodu
Python
Burada aradığımız kelime eğer varsa kelime veriyor eğer yoksa bize
aranılan kelimenin olmadığı veren bir program yazdık
Python
Copy Metodu
1
sozluk ={"Computer":"Bilgisayar",
2
"Driver":"Sürücü",
3
"Memory":"Hafıza",
4
"Output":"Çıktı",
5
"Software":"Yazılım",
6
"Printer":"Yazıcı"}
7
8
sozluk2= sozluk.copy()
9
print(sozluk2)
1
{'Output': 'Çıktı', 'Driver': 'Sürücü', 'Software': 'Yazılım', 'Computer': 'Bilgisayar', 'Memory': 'Hafıza', 'Printer': 'Yazıcı'}
0
Bu şekilde kullanıyoruz şimdi siz diyeceksiniz ne gerek var birinci sözlüğü
ikinci sözlüğe atarız ama o zaman da şöyle bir sorun var siz birinci
sözlükteki değerleri değiştirirseniz eğer ikinci sözlükte değişmiş olur. Ama
bizim asıl amacımız birinci sözlüğün kopyasını saklamaktı.
Hemen göstereyim;
1 sozluk["Hardware"]= "Donanım"
işlemi yaptıktan sonra bide ikinci sözlüğe bakalım
1 print(sozluk2)
2
3 {'Memory': 'Hafıza', 'Printer': 'Yazıcı', 'Output': 'Çıktı', 'Software': 'Yazılım', 'Computer': 'Bilgisayar', 'Hardware': 'Donanım',
'Driver': 'Sürücü'}
Gördüğünüz gibi sonradan eklediğimiz “Hardware” üyesi ikinci sözlüğe de
eklenmiş oldu.
Bide copy metodu ile yapalım;
1 sozluk2= sozluk.copy()
2 sozluk["Hardware"]= "Donanım"
3 print(sozluk2)
4 {'Software': 'Yazılım', 'Output': 'Çıktı', 'Printer': 'Yazıcı', 'Computer': 'Bilgisayar', 'Memory': 'Hafıza', 'Driver': 'Sürücü'}
Gördüğünüz gibi sonradan eklediğimiz değişiklikler ikinci sözlüğü
etkilemiyor.
Clear Metodu
1 sozluk ={"Computer":"Bilgisayar",
2 "Driver":"Sürücü",
3 "Memory":"Hafıza",
4 "Output":"Çıktı",
5 "Software":"Yazılım",
6 "Printer":"Yazıcı"}
7
8 sozluk.clear()
9 print(sozluk)
10 {}
Peki sözlüğü tamamıyla nasıl sileriz diyorsanız hemen göstereyim;
1 del sozluk
2 print(sozluk)
3
4 Traceback (most recent call last):
5 File "C:/Users/Cahit/Desktop/Mini/dictionary.py", line 7, in <module>
6 print(sozluk)
7 NameError: name 'sozluk' is not defined
Gördüğünüz gibi sözlüğü yazmaya çalıştığımızda program sözlüğün
olmadığını söylüyor.
1 sozluk ={"Computer":"Bilgisayar",
2 "Driver":"Sürücü",
3 "Memory":"Hafıza",
4 "Output":"Çıktı",
5 "Software":"Yazılım",
6 "Printer":"Yazıcı"}
7
8
9 del sozluk["Computer"]
10 print(sozluk)
11 {'Memory': 'Hafıza', 'Driver': 'Sürücü', 'Output': 'Çıktı', 'Software': 'Yazılım', 'Printer': 'Yazıcı'}
Bu şekilde “Computer” öğesini silmiş olduk.
Pop Metodu
Bu metot anahtar kelime ile tek bir öğeyi silme işlemini yapıyor. Ayrıca
silinen öğenin anahtar değerini ekrana basar.
1 sozluk ={"Driver":"Sürücü",
2 "Memory":"Hafıza",
3 "Output":"Çıktı",
4 "Software":"Yazılım",
5 "Printer":"Yazıcı"}
6
7 sozluk.pop("Driver")
8 print(sozluk)
9
10 {'Memory': 'Hafıza', 'Printer': 'Yazıcı', 'Software': 'Yazılım', 'Output': 'Çıktı'}
Bu şekilde “Driver” öğesini silmiş olduk.
Popitem Metodu
Bu metot ise pop metodu ile aynı işlevi yapar ama bu metot parametre
almaz rastgele bir öğeyi siler.
1 sozluk ={"Driver":"Sürücü",
2 "Memory":"Hafıza",
3 "Output":"Çıktı",
4 "Software":"Yazılım",
5 "Printer":"Yazıcı"}
6 sozluk.popitem()
7 print(sozluk)
8 {'Driver': 'Sürücü', 'Printer': 'Yazıcı', 'Output': 'Çıktı', 'Memory': 'Hafıza'}
Görüldüğü gibi bu metot rastgele olarak “Software” ögesini silmiş oldu.
Setdefault Metodu
Bu metot da get metodu ile aynıdır farkı ise aranılan anahtar yoksa ise siz o
anahtara bir değer vererek yazdırabiliyorsunuz.
1 sayilar ={"1":"bir","2":"iki","3":"üç","4":"dört","5":"beş"}
2
3 print(sayilar.setdefault("4"),)
4
5 dört
aranılan anahtar yok ise;
1 print(sayilar.setdefault("8","sekiz"),)
2
3 sekiz
Update Metodu
1 liste_1 ={"Ali":70,"Mehmet":50,"Kemal":60,"Mustafa":75}
Biz notlara 10’ar puan eklemek istiyoruz yani yeni hali şu olacak;
1 liste_2 ={"Ali":80,"Mehmet":60,"Kemal":70,"Mustafa":85}
ikinci liste gibi olmasını istiyorsak yapacağımız işlem;
1 liste_1.update(liste_2)
2 print(liste_1)
3
4 {'Mehmet': 60, 'Kemal': 70, 'Ali': 80, 'Mustafa': 85}
gördüğünüz gibi update metodunun kullanımı da bu şekilde.