Sözlük
Bir nesne koleksiyonu olması bakımından listeye benzeyen sözlük adlı başka bir Python bileşik veri türüne göz atalım.
Sözlükler ve listeler aşağıdaki özelliklere sahiptir:
- her ikisi de değişkendir;
- her ikisi de dinamiktir (gerektiğinde büyüyebilir ve küçülebilir);
- her ikisi de iç içe olabilir (bir liste başka bir liste içerebilir, bir sözlük başka bir sözlük içerebilir, bir sözlük ayrıca bir liste içerebilir ve bunun tersi de geçerlidir).
Sözlükler, öncelikle öğelere nasıl erişildiği konusunda listelerden farklıdır:
- liste öğelerine, dizine ekleme yoluyla listedeki konumlarına göre erişilir;
- Sözlük öğelerine anahtarlar kullanılarak erişilir.
Sözlükler, daha çok ilişkisel dizi olarak bilinen Python'da gerçekleştirilmiş bir veri yapısıdır. Sözlük bir kümeden oluşur anahtar çiftlerinin sayısı -değer. Her bir anahtar/değer çifti anahtarı ilgili değere eşler.
Sözlük oluşturma
Anahtar-değer çiftlerinin virgülle ayrılmış listesini kaşlı ayraçlar ( {} ) içine alarak bir sözlük tanımlayabilirsiniz. İki nokta üst üste ( : ) her bir anahtarı şundan ayırır: ilişkili bir değeri:
d = {
<anahtar>: <değer>,
<anahtar>: <değer>,
.
.
.
<anahtar>: <değer>
}
Yerleşik dict() işleviyle bir sözlük oluşturabilirsiniz. dict() bağımsız değişkeni, anahtar-değer çiftlerinden oluşan bir dizi olmalıdır. Bir demet listesi bunun için iyi çalışır:
d = dikte([
(<anahtar>, <değer>),
(<anahtar>, <değer),
.
.
.
(<anahtar>, <değer>)
])
print() komutuyla listenin içeriğini ekranda görüntüleyebilirsiniz. Sözlükteki girişler oluşturuldukları sırayla görüntülenir.
|
Sözlük öğelerine erişin
Bir sözlüğün öğeleriyle çalışmak için bir şekilde erişilebilir olmaları gerekir. Onları dizine göre alamıyorsanız, nasıl edinebilirsiniz?
Değer, ilgili anahtar köşeli parantez içinde ( [] ) belirtilerek sözlükten alınır.
Örneğin, önceki görevde oluşturulan sözlükten Abhazya'nın başkentini görüntülemek:
print(dict_country['Abhazya'])
Sözlükte olmayan bir anahtara başvurursanız, Python bir istisna atar:
print(dict_country['Rusya'])
Geri izleme (en son yapılan arama):< /span> Dosya "<...>", çizgi ..., içinde <modül>
print(dict_country[& #39;Rusya'])
KeyError: 'Rusya' ;
Sözlüğe öğe ekleme
Mevcut bir sözlüğe giriş eklemek, yeni bir anahtar ve değer atamak kadar basittir:
dict_country['Rusya'] = 'Moskova'
Bir sözlük girişini güncelleme
Bir girişi güncellemek istiyorsanız, mevcut bir anahtara yeni bir değer atayabilirsiniz:
dict_country['Rusya'] = 'Moskova'
Girişi sözlükten kaldır
Bir girişi silmek için, silinecek anahtarı belirterek del operatörünü kullanın:
del dict_country[<key>]
Bir sözlükteki öğelere erişim sırasından bağımsız olsa da, Python bir sözlükteki öğelerin sırasının korunmasını sağlar. Görüntülendiğinde, öğeler tanımlandıkları sırada görüntülenecek ve tuşlar da bu sırada tekrarlanacaktır. Sözlüğe eklenen öğeler en sona eklenir. Öğeler kaldırılırsa kalan öğelerin sırası korunur.
Unutulmamalıdır ki sözlüğün anahtarları gibi sözlüğün öğeleri de farklı türde olabilir. Bir sözlük ayrıca aşağıdaki içeriğe sahip olabilir:
d = {42: [2, 3, 6, 7], 2.78: 'bbb', Doğru: 1}
print(d[42][1]) # 3 - iç içe öğelere erişmek için ek bir anahtar veya dizin kullanın
|
Yerleşik Sözlük Yöntemleri
Dizeler, listeler ve demetler hakkında öğrendiğiniz yöntemlerden bazıları sözlüklerle de çalışır. Örneğin, in (veya not in ) yöntemi, olup olmadığını belirlemenize olanak tanır. sözlükte belirli bir anahtar var.
Ayrıca sözlüğün tüm tuşlarından geçmenizi sağlar.
dict_country'deki anahtar için:
yazdır(anahtar)
Ayrıca, items() yöntemini kullanarak anahtar/değer çiftlerini yineleyebilirsiniz.
dict_country.items() içindeki anahtar, değer için:
print(anahtar, değer)
Yaygın olarak kullanılan diğer yöntemler tabloda listelenmiştir.
Ad |
Yöntem |
Açıklama (örnek) |
şey>
sözlük boyutu |
len() |
sözlükteki öğelerin sayısını döndürür
len(dict_country)
|
sözlük güncelleniyor |
güncelleme() |
, birkaç sözlük çiftini aynı anda güncellemenizi sağlar
dict_country.update({'Rusya': 'Moskova', 'Ermenistan': 'Erivan'}) < /önce>
|
anahtara göre değer al |
get() |
, değeri belirtilen anahtarla almanızı sağlar. Bir sözlükte belirli bir anahtarın olup olmadığını kontrol etmek için kullanılabilir
dict_country.get('Russia') #, anahtara göre değer döndürür,
# böyle bir anahtar yoksa, Yok döndürür
dict_country.get('Russa', 0) # Rusya anahtarı yoksa 0 döndürür
# (0 yerine herhangi bir değer ayarlayabilirsiniz
|
anahtarı kaldır |
pop() |
pop() yöntemi bir anahtarı kaldırır ve ona karşılık gelen değeri döndürür.
dict_country.pop('Bahamalar')
|
sözlük anahtarları |
keys() |
keys() yöntem, bir sözlükteki anahtar koleksiyonunu döndürür.
dict_country.keys()
|
sözlük değerleri |
değerler() |
Method values() bir sözlükteki değerler koleksiyonunu döndürür.
dict_country.values()
|
sözlük çiftleri |
öğeler() |
items() yöntemi, bir sözlükteki değerler koleksiyonunu döndürür.
dict_country.items()
|
|