Python'da veri yapıları ve işlem yöntemleri, sözlüklerin metodlarını anlatıyoruz Siz de bu kitapla, Python programlama dilinde sözlükler kullanarak verileri nasıl işleyeceğinizi öğrenebilirsiniz Hemen sipariş verin ve Python'da veri yapısı yöntemlerini öğrenin!
Python dili, her türden veri yapısı için farklı seçenekler sunar. Ancak en çok kullanılan veri yapısı sözlüklerdir. Sözlükler, anahtar-değer çiftleri olarak depolanır ve bir anahtar ile ilişkili değere hızlıca erişmenizi sağlar.
Bu rehber, Python dilinde sözlüklerin veri yapıları ve işlem yöntemleriyle ilgili tam bir kılavuz sunmaktadır. Sözlük anahtarlarına erişmek, değerleri güncellemek veya aramak için kullanılan örnek kodlarla birlikte Python sözlük metodları hakkında bilgi sahibi olacaksınız. Ayrıca öğreneceğiniz işlem yöntemleri ile sözlüklerinizi düzenli bir şekilde filtreleyebilir, sıralayabilir ve dönüştürebilirsiniz.
Sözlükler ve Özellikleri
Python programlama dilinde, "sözlük" olarak adlandırılan bir veri tipi bulunmaktadır. Sözlük, anahtar ve değer çiftlerini içeren bir yapıdır ve bu çiftler, birbirinden virgülle ayrılmış bir şekilde süslü parantezler {} içine yazılır. Python sözlükleri, diğer veri yapılarına benzer özelliklere sahiptir. Ancak sözlüklerin en önemli özelliği, anahtar-değer çiftlerine dayalı olmasıdır.
Sözlükler, birçok programlama dilinde "hash" veya "map" olarak adlandırılmaktadır. Ancak Python'da bu veri tipi sözlük olarak adlandırılmaktadır. Sözlükler, değiştirilebilir bir veri tipi olduğu için, öğeleri ekleyebilir, çıkarabilir ve güncelleyebilirsiniz. Ayrıca, bir anahtar-değer çiftine anahtar aracılığıyla hızlı bir şekilde erişebilirsiniz.
Özellik | Açıklama |
---|---|
Değiştirilebilir | Sözlükler, öğeleri ekleyebilir, çıkarabilir ve güncelleyebilir. |
Yinelemeli | Sözlükler, öğeleri döngü içinde yineler. |
Anahtar-Değer Çiftleri | Sözlükler, anahtar ve değer çiftlerinden oluşur. |
Değerler Tekil Olabilir | Bir sözlükteki değerler herhangi bir tipte olabilir, ancak anahtarlar tektir. |
Python programlama dilinde, sözlük tanımlamak için süslü parantezler ({}), anahtar-değer çiftlerinin birbirinden virgülle ayrılmış hali kullanılır. Ayrıca, bir sözlük öğesine anahtar aracılığıyla hızlı bir şekilde erişebilir ve böylece sözlükler, diğer veri yapılarına göre daha hızlıdır.
Sözlük Metodları
Python sözlükleri, farklı metodlar ile birlikte kullanılabilir. Bu metodlar, sözlükler üzerinde değişiklik yapmak ve istenilen anahtar ve değerlere erişmek için kullanılabilir.
Metod | Açıklama |
---|---|
keys() | Sözlük anahtarlarına erişmek için kullanılır. |
get() | Belirtilen anahtarın değerini döndürür. Eğer anahtar mevcut değilse varsayılan bir değer döndürür. |
update() | Sözlükteki var olan anahtar ve değer çiftlerini güncellemek için kullanılır. |
values() | Sözlükteki tüm değerlere erişmek için kullanılır. |
Örneğin, 'keys()' metodu kullanarak bir sözlüğün anahtarlarını elde edebilirsiniz:
my_dict = {"elma": 2, "armut": 5, "kiraz": 12}for key in my_dict.keys(): print(key)
Bu döngü, sözlükteki anahtarları elde eder ve her anahtarı yazdırır:
elmaarmutkiraz
'values()' metodu kullanarak, sözlükteki tüm değerlere kolayca erişebilirsiniz:
my_dict = {"elma": 2, "armut": 5, "kiraz": 12}for value in my_dict.values(): print(value)
Bu küçük kod, sözlükteki tüm değerleri yazdırır:
2512
'get()' metodu, belirtilen anahtarın değerini döndürür. Ancak eğer anahtar sözlükte mevcut değilse, varsayılan bir değer döndürür:
my_dict = {"elma": 2, "armut": 5, "kiraz": 12}print(my_dict.get("elma", 0))print(my_dict.get("kavun", 0))
Bu kod, "elma" anahtarının değerini ve "kavun" anahtarının varsayılan değeri olan 0'ı yazdırır:
20
En son olarak, 'update()' metodu kullanarak sözlükteki var olan anahtar ve değer çiftlerini güncelleyebilirsiniz:
my_dict = {"elma": 2, "armut": 5, "kiraz": 12}my_dict.update({"elma": 3, "kavun": 8})print(my_dict)
Bu kod, "elma" anahtarının değerini 3'e ve "kavun" anahtarını 8'e günceller ve sözlüğü ekrana yazdırır:
{"elma": 3, "armut": 5, "kiraz": 12, "kavun": 8}
Keys Metodu
Python sözlüklerinde kullanılan en temel metodlardan biri olan 'keys()' metodunun amacı, sözlüğün anahtarlarına erişmek ve bu anahtarları işlemek için kullanılır. Bu metod, Python'da listeden farklı olmayan bir yapıdadır. Yani, bir Python sözlüğü sağdaki veya sola doğru sıralı bir yapıda değildir, ancak tek bir özellikle tanımlanır.
'keys()' fonksiyonu sözlüklerde çalıştığında, Python bunu bir liste olarak ele alır ve sözlükte yer alan tüm anahtarları birleştirir. Bu nedenle, eğer bir sözlükte yer alan tüm anahtarları görmek istiyorsanız, bunu 'keys()' metodunu kullanarak yapabilirsiniz.
Bu metod, sözlük anahtarlarını almakla kalmaz, aynı zamanda bu anahtarları işlemek için de kullanılabilir. Örneğin, 'keys()' metodunu kullanarak bir Python sözlüğündeki anahtarları bir dizi gibi sıralayabilir ve bu anahtarların bir kopyasını oluşturabilirsiniz.
Örnek Kullanımı | Açıklama |
---|---|
my_dict = {'Elma': 1, 'Armut': 2, 'Kiraz': 3} | Bir sözlük oluşturuldu |
keys = my_dict.keys() | Sözlük anahtarları 'keys()' metoduyla alındı ve bir değişkene atandı |
print(keys) | Anahtarlar yazdırıldı |
Yukarıdaki örnekte, 'keys()' metodunu kullanarak sözlük anahtarlarını alıyoruz ve bir değişkene atıyoruz. Sonra, bu 'keys' değişkeni ekrana yazdırılır. Bu örneği çalıştırdığınızda, ekranda 'dict_keys(['Elma', 'Armut', 'Kiraz'])' çıktısını görebilirsiniz. Burada, sözlük anahtarlarını bir liste olarak görebilirsiniz.
Bir başka örnek olarak, bir Python sözlüğündeki anahtarları alfabetik olarak sıralayabilirsiniz:
Örnek Kullanımı | Açıklama |
---|---|
my_dict = {'elma': 1, 'armut': 2, 'kiraz': 3} | Bir sözlük oluşturuldu |
sorted_keys = sorted(my_dict.keys()) | Sözlük anahtarları alfabetik olarak sıralandı ve bir değişkene atandı |
print(sorted_keys) | Sıralanmış anahtarlar yazdırıldı |
Bu örnekte, 'sorted()' fonksiyonu kullanarak anahtarları alfabetik olarak sıralıyoruz. Bu örneği çalıştırdığınızda, ekranda '['armut', 'elma', 'kiraz']' çıktısını görebilirsiniz. Bu örnekte, 'keys()' metodunu kullanarak sözlük anahtarlarını alıyoruz, sonra 'sorted()' metodunu kullanarak bu anahtarları alfabetik olarak sıralıyoruz ve bu sıralanmış anahtarları bir değişkene atıyoruz.
Get Metodu
'Get()' fonksiyonu, Python'daki sözlük değerlerine erişmek için sıklıkla kullanılan bir yöntemdir. Bu fonksiyon, belirtilen anahtara karşılık gelen değeri döndürür. Eğer anahtar sözlükte bulunmuyorsa, varsayılan olarak belirtilen bir değer döndürür. Bu özellik, kodlama sürecinde istenmeyen hataların önüne geçilmesinde büyük rol oynar.
Get() fonksiyonunun kullanımı oldukça basittir. Fonksiyona sözlük içinde erişmek istediğimiz anahtarın adı ve varsayılan olarak döndürülecek olan değer belirtilir. Örneğin:
Kod | Çıktı |
---|---|
sozluk = {'isim': 'Ahmet', 'yas': 25} | |
print(sozluk.get('isim')) | Ahmet |
print(sozluk.get('maas', 'Belirtilmedi')) | Belirtilmedi |
Yukarıdaki örnekte ilk kullanımda, 'isim' anahtarına karşılık gelen 'Ahmet' değeri get() fonksiyonu ile elde edilirken, ikinci kullanımda 'maas' anahtarının sözlükte bulunmamasından dolayı 'Belirtilmedi' değeri varsayılan olarak belirlenmiştir.
Update Metodu
'Update()' metodu, Python sözlüklerinde anahtar ve değer çiftlerini güncellemek için kullanılır. Bu metot, güncellenecek anahtarın adını ve yeni değerini içeren bir sözlük parametresi kullanarak sözlüğü günceller. Eğer güncellenecek anahtar sözlükte yoksa, bu metot yeni bir anahtar-değer çifti ekler.
Bir örnekle açıklamak gerekirse, aşağıdaki sözlük elemanlarını düşünelim:
Anahtar | Değer |
---|---|
'Elma' | 2 |
'Armut' | 3 |
Eğer 'Elma' anahtarına karşılık gelen değeri '5' ile güncellemek istiyorsak, 'update()' metodu kullanarak aşağıdaki kodu kullanabiliriz:
- sözlük = {'Elma': 2, 'Armut': 3}
- sözlük.update({'Elma': 5})
- print(sözlük)
Bu kodu çalıştırdığımızda, sözlük aşağıdaki gibi güncellenir:
Anahtar | Değer |
---|---|
'Elma' | 5 |
'Armut' | 3 |
Update() fonksiyonu, birden fazla anahtar-değer çifti sözlüğü güncellemek için de kullanılabilir. Örneğin, yukarıdaki örnekte 'Elma' anahtarına karşılık gelen değeri '5' ile güncelledikten sonra, 'Armut' anahtarına karşılık gelen değeri de '7' ile güncelleyebiliriz:
- sözlük = {'Elma': 2, 'Armut': 3}
- sözlük.update({'Elma': 5, 'Armut': 7})
- print(sözlük)
Bu kodu çalıştırdığımızda, sözlük aşağıdaki gibi güncellenir:
Anahtar | Değer |
---|---|
'Elma' | 5 |
'Armut' | 7 |
'Update()' metodu aynı zamanda farklı sözlükleri birleştirmek için de kullanılabilir. Örneğin, iki farklı sözlüğü birleştirmek istediğimizde aşağıdaki kodu kullanabiliriz:
- sözlük1 = {'Elma': 2, 'Armut': 3}
- sözlük2 = {'Kiraz': 4, 'Üzüm': 5}
- sözlük1.update(sözlük2)
- print(sözlük1)
Bu kodu çalıştırdığımızda, 'sözlük1' aşağıdaki gibi güncellenir:
Anahtar | Değer |
---|---|
'Elma' | 2 |
'Armut' | 3 |
'Kiraz' | 4 |
'Üzüm' | 5 |
Update() metodu, Python sözlükleri üzerinde oldukça yararlı bir metottur ve sözlüklerin işlemesinde sıklıkla kullanılır.
Values Metodu
Python sözlükleri kullanırken, anahtarlarına erişmek kadar değerlerine erişmek de oldukça önemlidir. Bunun için 'values()' fonksiyonu kullanılır. Bu fonksiyon, sözlükteki tüm değerleri bir liste olarak döndürür.
Örnek:
Örnek Kod | Çıktı |
---|---|
{ "marka": "Samsung", "model": "Galaxy S21", "renk": "Beyaz" } degerler = telefon.values() print(degerler) | ['Samsung', 'Galaxy S21', 'Beyaz'] |
Bu örnek kodda, 'telefon' adında bir sözlük oluşturulmuştur ve 'values()' fonksiyonu kullanılarak tüm değerler 'degerler' adlı bir listeye atanmıştır. Sonrasında 'print()' fonksiyonu ile de liste ekrana yazdırılmıştır.
Benzer şekilde, sözlüklerdeki tüm anahtarları 'keys()' fonksiyonu ile almak mümkündür.
Bu fonksiyonlar, sözlüklerle işlem yaparken oldukça faydalıdır ve verilerin yönetimini kolaylaştırır.
Sözlüklerin İşlem Yöntemleri
Python sözlükleri ile işlem yapmak için kullanılan birçok yöntem vardır. Bunlardan bazıları:
- len(): Sözlük elemanları için kullanılan fonksiyondur. Sözlükte kaç anahtar değer çifti olduğunu gösterir.
- in: Sözlükte belirli bir anahtar kelime olup olmadığını kontrol etmek için kullanılır.
- del: Sözlükte belirli bir anahtar kelimeyi ve bu anahtara ait değeri silmek için kullanılır.
- pop(): Sözlük içinde belirtilen anahtara ait değeri siler ve silinen değeri döndürür.
Metod | Açıklama | Kod Örneği |
---|---|---|
keys() | Sözlük anahtarlarına erişmek için kullanılır. | my_dict = {'elma': 1, 'armut': 2} print(my_dict.keys()) #Çıktı: dict_keys(['elma', 'armut']) |
get() | Sözlük anahtar kullanımı için kullanılır. Anahtar yoksa belirtilen değeri döndürür. | my_dict = {'elma': 1, 'armut': 2} print(my_dict.get('elma', 'bulunamadı')) #Çıktı: 1 print(my_dict.get('portakal', 'bulunamadı')) #Çıktı: bulunamadı |
update() | Sözlüklerdeki anahtar ve değer çiftlerini güncellemek için kullanılır. | my_dict = {'elma': 1, 'armut': 2} my_dict.update({'elma': 3}) print(my_dict) #Çıktı: {'elma': 3, 'armut': 2} |
values() | Sözlükteki değerlere erişmek için kullanılır. | my_dict = {'elma': 1, 'armut': 2} print(my_dict.values()) #Çıktı: dict_values([1, 2]) |
Python sözlükleri, veri depolama ve yönetiminde oldukça kullanışlıdır. Yukarıda bahsedilen yöntemlerin yanı sıra, sözlükler ile kullanılabilecek diğer birçok operasyon da bulunmaktadır. Özellikle büyük verilerin yönetiminde Python sözlükleri oldukça işlevsel bir seçenektir.
For Döngüsü
Python'da sözlükler üzerinde 'for' döngüsü kullanımı oldukça sık karşılaşılabilen bir durumdur. Sözlükler, listeler gibi değiştirilebilir veri tiplerinden farklı olarak anahtar-değer çiftleri kullanarak organize edilirler. Bu nedenle, sözlüklerdeki verilere ulaşmak için farklı bir işlem yöntemi kullanmak gerekir.
'For' döngüsü, sözlüklerdeki anahtar-değer çiftlerinin üzerinde gezinebilmek için kullanılabilir. Bu döngü, her bir anahtar-değer çifti için belirtilen işlemleri gerçekleştirir. Örneğin, aşağıdaki kod bloğu sözlükteki her bir öğrenenin adını ve yaşını ekrana yazdırır:
öğrenciler = {"Ali": 20, "Merve": 22, "Ahmet": 19}for öğrenci, yaş in öğrenciler.items(): print(öğrenci, "yaşı", yaş)
Bu kod bloğunda, 'items()' fonksiyonu kullanılarak öğrenciler sözlüğündeki her bir öğrenci ve yaş anahtar-değer çiftine erişiliyor. Sonrasında, 'for' döngüsü ile her bir öğrenci için 'print()' fonksiyonu kullanılarak isim ve yaş değerleri ekrana yazdırılıyor.
Öte yandan, 'for' döngüsünü kullanarak sadece sözlük anahtarları ya da değerleri üzerinde gezinmek de mümkündür. Bunun için, örneğin 'keys()' fonksiyonu kullanılarak sadece anahtarlar üzerinden döngü kurulabilir:
öğrenciler = {"Ali": 20, "Merve": 22, "Ahmet": 19}for öğrenci in öğrenciler.keys(): print(öğrenci)
Burada, 'keys()' fonksiyonu sözlükteki anahtarları içeren bir liste döndürür. Döngüde, her bir anahtar tek tek alınarak 'print()' fonksiyonu ile ekrana yazdırılır.
'For' döngüsü kullanarak sözlükler üzerinde gezinmek, programlamanın temel konularından biridir. Bu sayede, özellikle büyük ölçekli projelerde değişken sayıda sözlük öğesi üzerinde işlemler yapmak daha kolay ve hızlı hale gelir.
Comprehension İfadesi
Python comprehension ifadeleri, sözlüklerin daha verimli bir şekilde filtrelenmesi, sıralanması ve dönüştürülmesi için kullanılan yöntemlerdir. Bu ifadeler, liste ifadelerine benzer şekilde sözlüklerle de kullanılabilir. Comprehension ifadesi, bir sözlükteki her eleman için bir koşula uymayan öğelerin filtrelenmesine yardımcı olabilir. Bunun yanı sıra, comprehension ifadesi aynı zamanda sözlükte bulunan öğelerin değerlerinin aynı kalmasını sağlayarak, sözlükteki öğeleri sıralamaya da yardımcı olabilir.
- Filtreleme: Sözlüklerde comprehension ifadesi kullanarak, belirli bir koşulu sağlamayan öğelerin filtrelenmesi oldukça kolaydır. Örneğin, aşağıdaki kod örneği, 'my_dict' sözlüğündeki öğelerin sadece anahtarlarını içeren bir sözlük oluşturacaktır.
- Sıralama: Sözlük öğelerinin sıralanması, comprehension ifadeleri kullanılarak da yapılabilir. Aşağıdaki örnek kod, 'my_dict' sözlüğündeki öğelerin anahtarlarına göre sıralanmasına yardımcı olacaktır.
- Dönüştürme: Sözlüklerin comprehension ifadeleri kullanılarak dönüştürülmesi, özellikle birden fazla sözlükten yeni bir sözlük oluşturmak istenildiğinde oldukça kullanışlıdır. Aşağıdaki örnek kod, iki farklı sözlükten yeni bir sözlük oluşturacaktır.
Kod Örneği |
---|
filtered_dict = {key: value for (key, value) in my_dict.items() if key != "bad_key"} |
Kod Örneği |
---|
sorted_dict = {key: value for key, value in sorted(my_dict.items(), key=lambda item: item[0])} |
Kod Örneği |
---|
my_dict = {'a': 1, 'b': 2} my_dict2 = {'c': 3, 'd': 4} merged_dict = {**my_dict, **my_dict2} |
Python comprehension ifadeleri, sözlüklerin daha verimli bir şekilde filtrelenmesi, sıralanması ve dönüştürülmesi konularında oldukça faydalıdır. Uygun bir şekilde kullanıldığında, comprehension ifadeleri kodu daha okunaklı hale getirir ve aynı işleri yapmak için kullanılan kod satırlarını azaltarak daha verimli hale getirir.
Sözlüklerin Görselleştirilmesi
Sözlükler veri işleme işlemlerinde sıkça kullanılan veri yapıları arasında yer almaktadır. Bu veri yapılarının kullanımı, verilerin kolayca işlenebilmesini sağlar. Ancak bazı durumlarda, sözlük verilerinin daha kolay anlaşılması için görsel olarak temsil edilmesi gerekebilir. Bu işlem için kullanılan grafik kütüphaneleri sayesinde sözlük verileri, çizgi grafikler ve pasta grafikleri gibi görsel şekillerde sunulabilir.
Python'da kullanılan en popüler grafik kütüphanelerinden biri Matplotlib'dir. Bu kütüphane, verilerin daha çekici ve anlaşılır hale getirilmesi için birçok grafik seçeneği sunar. Matplotlib ile basit bir şekilde çizgi grafikleri, pasta grafikleri ve sütun grafikleri oluşturabilirsiniz. Ayrıca, sözlük verileri için görsel tablolar oluşturmak için de pandas kütüphanesi kullanılabilir.
Örneğin, bir sözlük verisinde çeşitli öğrencilerin notlarına ve sınıf ortalamalarına sahip olabilirsiniz. Bu verileri, Matplotlib kütüphanesini kullanarak çizgi grafiği ile görselleştirebilirsiniz. Grafik, öğrencilerin not ortalamalarını gösterir ve böylece tüm sınıfın performansını kolayca anlayabilirsiniz.
Öğrenci Adı | Notu | Sınıf Ortalaması |
---|---|---|
Ahmet | 70 | 65 |
Ali | 80 | 65 |
Ayşe | 95 | 65 |
Zeynep | 60 | 65 |
Bu grafik, sınıfın performansının düşük olduğunu gösteriyor. Ayrıca, öğrencilerin performansı arasındaki farkı da kolayca görebiliriz. Bu veri görselleştirme yöntemi, birçok farklı veri seti için kullanılabilir ve sözlük verileri gibi veri yapılarının anlaşılmasını daha kolay hale getirir.