Python Sözlüğü: Bilmeniz Gereken Her Şey [Örneklerle]

Yayınlanan: 2020-04-14

Python ile çalışıyorsanız, listeleri, dizileri ve demetleri duymuş olmalısınız. Bugün Python'un bir diğer önemli unsuru olan sözlükten bahsedeceğiz. Bu gönderiyi okuduktan sonra, Python sözlüklerini, bunların nasıl oluşturulacağını ve nasıl kullanılacağını nispeten iyi anlayacaksınız.

İçindekiler

Python Sözlüğü nedir?

Python'da sözlük, genellikle ilişkisel dizi olarak bilinen bir veri yapısının uygulamasıdır. Düzenlenmemiş bir veri değerleri koleksiyonu içerir (örneğin bir harita). Ancak, öğe olarak yalnızca tek bir değer içeren diğer veri türlerinin aksine, bir sözlükte depolanan veri değerleri bir anahtar:değer çifti tutar. Bu, sözlüğü optimize etmeye yardımcı olur. Her anahtar: değer çifti, değeriyle ilişkili benzersiz anahtarı eşler.

Python sözlüğünde anahtarlar benzersizdir, ancak değerler olabilir veya olmayabilir - anahtarların değişmez bir veri türünde (dizeler, sayılar ve demetler) olması gerekirken, değerler herhangi bir türden olabilir. Ayrıca, bir Python sözlüğünde anahtarlar büyük/küçük harf duyarlıdır. Bu nedenle, aynı ada sahip ancak farklı durumlara sahip anahtarlar farklı şekilde ele alınır.

Şunlar hakkında daha fazla bilgi edinin: Python Veri Türleri

Sözlük ve Listeler

Python'da sözlükler ve listeler hem benzerlikleri hem de farklılıkları paylaşır. Sözlükler ve listeler tarafından paylaşılan ortak özellikler şunları içerir:

  • Değişkendirler.
  • Dinamiktirler.
  • İç içe geçebilirler - bir liste başka bir liste içerebilir ve bir sözlük başka bir sözlük içerebilir. Ayrıca, bir liste bir sözlük içerebilir ve bunun tersi de geçerlidir.

Sözlükler ve listeler arasındaki temel fark, liste öğelerine (listedeki konumlarına göre) indeksleme yoluyla erişilebilirken, sözlük öğelerine anahtarlar aracılığıyla erişilmesidir.

Python Sözlüğü – Yöntemler

Şimdi Python sözlüklerinde en sık kullanılan yöntemlerden bazılarını tartışacağız.

  • copy() – Bir sözlüğün sığ bir kopyasını döndürür.
  • clear() – Bir sözlükteki tüm öğeleri kaldırır.
  • type() – Geçirilen değişkenin türünü döndürür.
  • pop() – Anahtar sağlandıktan sonra sözlükten bir öğeyi kaldırır ve döndürür.
  • popitem( ) – İsteğe bağlı bir öğeyi (anahtar, değer) kaldırır ve döndürür. Ayrıca, sözlük boşsa KeyError'ı yükseltir.
  • get() – Bir anahtarın değerine erişmek için kullanılır.
  • öğeler( ) – Sözlüğün öğelerinin (anahtar, değer) yeni bir görünümünü döndürür.
  • str( ) – Bir sözlüğün yazdırılabilir bir dize temsilini oluşturur.
  • pop(key[,d]) – Anahtarlı öğeyi kaldırır ve değerini döndürür ve anahtar bulunamazsa d döndürür . Ancak, d sağlanmazsa ve anahtar bulunamazsa, KeyError döndürür .
  • get(key[,d]) – Anahtarın değerini döndürür. Anahtar yoksa, d değerini döndürür (varsayılanı Yoktur ).
  • fromkeys(seq[, v])seq öğesinden anahtarlar içeren yeni bir sözlük döndürür ve değer v'ye eşittir (varsayılanı Yoktur ).
  • update([other])Mevcut anahtarların üzerine yazarak diğer anahtar/değer çiftleriyle sözlüğü günceller .

Sözlük nasıl oluşturulur?

Anahtar/değer çiftlerinin virgülle ayrılmış bir listesini küme parantezleri { } içine alarak bir Python sözlüğü oluşturabilirsiniz. İki nokta üst üste “:”, her anahtarı ilişkili değerinden ayırır:

d = {

<anahtar>: <değer>,

<anahtar>: <değer>,

.

.

.

<anahtar>: <değer>

}

Aşağıdaki gibi bir sözlük oluşturmak için yerleşik dict() işlevini de kullanabilirsiniz :

# boş sözlük

my_dict = {}

# tamsayı tuşlu sözlük

my_dict = {1: 'elma', 2: 'top'}

# karışık tuşlu sözlük

my_dict = {'isim': 'John', 1: [2, 4, 3]}

# dict() kullanarak

my_dict = dict({1:'elma', 2:'top'})

# her öğenin bir çift olduğu diziden

my_dict = dict([(1,'elma'), (2,'top')])

Bir sözlükten öğelere nasıl erişilir?

Bir sözlükten bir öğeye erişmek için anahtar adına başvurmalısınız. Öğeyi almak için get() yöntemini kullanabilir veya anahtar adını köşeli parantez [ ] içinde belirtebilirsiniz. Sözlükte bir anahtar bulunamazsa, get() yöntemi KeyError yerine None döndürür.

İşte bir sözlükten öğelere erişmek için kullanılan bir kod örneği:

#!/usr/bin/python

dict = {'Ad': 'Zara', 'Yaş': 7, 'Sınıf': 'Birinci'}

print “dict['Name']: “, dict['Name']

print “dict['Yaş']: “, dict['Yaş']

Bir sözlüğe öğeler nasıl eklenir veya değiştirilir?

Python sözlükleri değiştirilebilir olduğundan, öğeler ekleyebilir ve hatta bir sözlükte bulunan mevcut öğelerin değerlerini değiştirebilirsiniz. Öğeler bir sözlüğe birçok şekilde eklenebilir. Ancak, anahtarıyla birlikte tanımlayarak sözlüğe bir kerede bir değer ekleyebilirsiniz.

Örneğin, dict[key] = 'değer'. Bir sözlükteki mevcut bir değeri güncellemek için yerleşik update() yöntemini kullanmanız gerekir. Sözlüğe bir değer eklerken, değer zaten varsa, değerin güncellendiğini, aksi takdirde sözlüğe değere sahip yeni bir anahtarın eklendiğini unutmamalısınız.

my_dict = {'isim':'Jack', 'yaş': 26}

# güncelleme değeri

my_dict['yaş'] = 27

#Output: {'yaş': 27, 'isim': 'Jack'}

yazdır(my_dict)

# öğe eklemek

my_dict['address'] = 'Şehir merkezi'

# Çıktı: {'adres': 'Şehir', 'yaş': 27, 'isim': 'Jack'}

yazdır(my_dict)

Bir sözlükten öğeler nasıl kaldırılır veya silinir?

Sözlükten bir öğeyi kaldırmak veya silmek için pop ( ) yöntemini kullanabilirsiniz. Sağlanan ket ile belirli öğeyi kaldıracak ve değeri döndürecektir. Sözlükten rastgele bir öğeyi (anahtar ve değer) silmek ve döndürmek için popitem() yöntemini de kullanabilirsiniz .

Tüm öğeleri bir kerede silmek istiyorsanız, clear() yöntemini kullanabilirsiniz. Tek tek öğeleri kaldırmak için del anahtar sözcüğünü veya sözlüğün tamamını silmek için del dict ( ) yöntemini de kullanabilirsiniz.

del dict ( ) yöntemini kullanan bir örnek:

#!/usr/bin/python

dict = {'Ad': 'Zara', 'Yaş': 7, 'Sınıf': 'Birinci'}

del dict['Ad']; # 'Ad' anahtarıyla girişi kaldırın

dict.clear(); # dict içindeki tüm girişleri kaldır

del dict ; # tüm sözlüğü sil

print “dict['Yaş']: “, dict['Yaş']

print “dict['Okul']: “, dict['Okul']

Ayrıca şunu da öğrenin: Hindistan'da Python Geliştirici Maaşı

Bir sözlükte nasıl döngü yapılır?

Bir Python sözlüğünde, bir for döngüsü kullanarak döngü yapabilirsiniz . Bir sözlükte dolaştığınızda, sözlüğün anahtarları dönüş değeridir.

Bir sözlükte dolaşmaya bir örnek:

thisdict'teki x için:

yazdır(x)

Okuyun: En Önemli Python İşlevleri

Sözlükte bir anahtarın olup olmadığı nasıl kontrol edilir?

Sözlükte belirli bir anahtarın bulunup bulunmadığını kontrol etmek için " in " anahtar sözcüğünü kullanabilirsiniz, örneğin:

thisdict = {

"marka": "Ferrari",

“model”: “Daytone”,

“yıl”: “1968”

}

eğer bu sözde "model":

print(“Evet, 'model' thisdict sözlüğündeki anahtarlardan biridir”)

Bir sözlüğün uzunluğu nasıl belirlenir?

Bir sözlüğün uzunluğunu ayarlayabilirsiniz, yani len() yöntemini kullanarak kaç öğeye (anahtar:değer çiftleri) sahip olacağını belirleyebilirsiniz , örneğin:

print(len(thisdict))

Sözlük nasıl kopyalanır?

Yerleşik copy() yöntemini kullanarak bir sözlüğü kopyalayabilirsiniz. Ancak, dict2 = dict1 yazarak bir sözlüğü kopyalayamazsınız çünkü dict2 yalnızca dict1 öğesine başvuru olacaktır .

İşte copy() yöntemini kullanan bir örnek:

thisdict = {

“marka”: “Ford”,

“model”: “Mustang”,

"yıl": 1964

}

mydict = thisdict.copy()

yazdır

Python Sözlüğü: Anlama

Python'da sözlük anlama, yinelenebilir bir sözlükten yeni bir sözlük oluşturmanın basit ve düzgün bir yoludur. Bir ifade çiftinden (anahtar: değer) ve ardından küme parantezleri { } içindeki for ifadesinden oluşur. Sözlük anlama, birden çok for veya if ifadesi içerebilir .

Her öğenin bir sayı çifti ve karesi olduğu bir sözlük oluşturmaya ilişkin bir örnek:

kareler = {x: x aralığında x için x*x(6)}

# Çıktı: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

yazdır(kareler)

Devamını oku: Python Veri Görselleştirme Kitaplıkları

toparlamak

Temelde bu kadar – Python sözlüğü hakkında bilmeniz gereken tüm temel bilgiler!

Python hakkında bilgi edinmek, Veri bilimi hakkında her şeyi merak ediyorsanız, upGrad'ın çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk, 1'e 1'e kadar olan Veri Bilimi Sertifikasyon Kurslarına göz atın. -1 endüstri danışmanlarıyla, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.

Python'da sözlüklere ihtiyaç nedir?

Sırasız bir veri değerleri koleksiyonu, bir Python sözlüğüdür. Python'da veri değerlerini tıpkı bir harita gibi depolamak için sözlükler gereklidir. Diğer tüm veri tiplerinde eleman olarak sadece tek bir değeri tutabilirler. Ancak, bir sözlük anahtar:değer çiftini tutabilir. Bu çift, sözlüğün işleyişini biraz daha optimize eder.

Python'da bir sözlük oluşturmak için, öğelerin tümünü 'virgül' ile ayırarak küme parantezleri içine yerleştirmeniz yeterlidir. Sözlükteki değerler tekrarlanabilir ve çoğaltılabilir, ancak sözlükteki tuşları tekrarlayamazsınız. Sözlükteki anahtarlar büyük/küçük harf duyarlıdır, bu nedenle aynı ada sahip ancak farklı durumlara sahip iki anahtar bile farklı şekilde ele alınacaktır.

Python sözlüğünde neler saklanabilir?

Sözlükler, herhangi bir benzersiz anahtarın yardımıyla veri almak için Python'da kullanılır. Bir Python değişkeninde saklayabileceğiniz her şey bir Python sözlüğünde saklanabilir. Hatta listeler oluşturarak bir sözlüğü diğerine yuvalayabilirsiniz. Buna karşılık, anahtarlar değişmez olmalıdır.

Belirli bir değeri saklayan anahtarı çağırarak saklanan değeri kolayca alabilirsiniz. Döndürülen listede herhangi bir değişiklik yaparsanız, sözlük de etkilenecektir. Sözlükte saklanan değerlerin ve alınan listenin sadece aynı nesneler olduğunu anlamak gerekir.

Hashtable ve Sözlük nasıl farklıdır?

Hashtable, genel olmayan bir koleksiyondur, Sözlük ise genel bir veri değerleri koleksiyonudur. Bir sözlükte yalnızca aynı veri türü anahtar/değer çiftlerini saklarken, aynı ve farklı veri türlerinin anahtar/değer çiftlerini saklamanıza izin verilir.

Hashtable'da kutulama ve kutudan çıkarma olduğu için, veri alma işlemi Sözlük'e kıyasla daha yavaştır. Bir Hashtable'da korunan bir düzen yoktur, ancak her zaman bir Sözlükte saklanan değerlerin korunan bir sırasını göreceksiniz.