Python Sözlük

Sözlük (Dictionary)

Sözlük, sıralı olmayan, değiştirilebilir ve indeksli bir koleksiyondur. Python'da, sözlükler parantezler içinde yazılır ve anahtarlar ile değerlere sahiptir.

Örnek

Sözlük oluşturma ve yazdırma:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
print(thisdict)

Çalışma Örneği

Öğeye erişme

Sözlük öğesine erişmek için parantez içindeki anahtar adını referans alabilirsiniz:

Örnek

"model" anahtarının değerini almak:

x = thisdict["model"]

Çalışma Örneği

Adı get() Yöntemi size aynı sonucu verecektir:

Örnek

"model" anahtarının değerini almak:

x = thisdict.get("model")

Çalışma Örneği

Değer değiştirme

Belirli bir öğenin değerini değiştirmek için anahtar adını referans alabilirsiniz:

Örnek

"year" i 2019 olarak değiştirme:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["year"] = 2019

Çalışma Örneği

Sözlüğü dolaşma

Kullanabilirsiniz for Sözlüğü döngü içinde dolaşma.

Döngü içinde dolaşırken, dönen değer sözlüğün anahtarlarıdır, ancak değer döndüren yöntem de vardır.

Örnek

Sözlükteki tüm anahtar adlarını tek tek yazdırma:

for x in thisdict:
  print(x)

Çalışma Örneği

Örnek

Sözlükteki tüm değerleri tek tek yazdırma:

for x in thisdict:
  print(thisdict[x])

Çalışma Örneği

Örnek

Ayrıca values() Fonksiyon, sözlüğün değerlerini döner:

for x in thisdict.values():
  print(x)

Çalışma Örneği

Örnek

items() fonksiyonu kullanarak anahtar ve değerleri dolaşma:

for x, y in thisdict.items():
  print(x, y)

Çalışma Örneği

Anahtar var mı kontrolü

Sözlükte belirtilen anahtarın olup olmadığını belirlemek için in Anahtar:

Örnek

"model" adlı anahtarın sözlükte olup olmadığını kontrol etme:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
if "model" in thisdict:
  print("Evet, 'model' thisdict sözlüğündeki anahtarlardan biridir")

Çalışma Örneği

Sözlük uzunluğu

Sözlükte ne kadar öğe (anahtar-değer çifti) olduğunu belirlemek için len() Yöntem.

Örnek

Sözlükteki öğe sayısını yazdırma:

print(len(thisdict))

Çalışma Örneği

Öğe ekleme

Yeni bir indeks anahtarı kullanarak ve ona değer atarak öğeyi sözlüğe ekleyebilirsiniz:

Örnek

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict["color"] = "red"
print(thisdict)

Çalışma Örneği

Öğe silme

Sözlükten öğe silmek için çeşitli yöntemler vardır:

Örnek

pop() yöntemi belirtilen anahtar adına sahip öğeyi siler:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.pop("model")
print(thisdict)

Çalışma Örneği

Örnek

popitem() Son eklenen öğeyi silme yöntemi (3.7 öncesi sürümlerde, rastgele öğeyi silme):

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
thisdict.popitem()
print(thisdict)

Çalışma Örneği

Örnek

del thisdict["model"] thisdict.popitem()}

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
Anahtar kelime belirtilen anahtar adına sahip öğeyi siler:
print(thisdict)

Çalışma Örneği

Örnek

del thisdict["model"] del

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
Anahtar kelime tamamen sözlüğü siler:
del thisdict

Çalışma Örneği

Örnek

clear() print(thisdict) #this 会导致错误,因为 "thisdict" 不再存在。

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
Anahtar kelime sözlüğü boşaltır:
print(thisdict)

Çalışma Örneği

thisdict.clear()

sözlük kopyalamak için dict2 = dict1 yazarak sözlük kopyalamak mümkün değildirdict2 sadece dict1 deki referanslara yansıtılacaktır, dict1 deki değişiklikler otomatik olarak dict2 içinde.

Kopyalama yapmak için bazı yöntemler vardır, biri yerleşik sözlük yöntemidir copy()

Örnek

Kullanım copy() yöntemi kullanarak sözlük kopyalamak:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = thisdict.copy()
print(mydict)

Çalışma Örneği

Kopyalama yapmak için kullanılabilen bir diğer yöntem, yerleşik yöntemdir dict()

Örnek

Kullanım dict() Yöntem, sözlük kopyalamak için:

thisdict =	{
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}
mydict = dict(thisdict)
print(mydict)

Çalışma Örneği

Özyüklük sözlük

Sözlükler de birçok sözlük içerebilir, bu durumda "özyüklük sözlük" denir.

Örnek

Üç sözlük içeren bir sözlük oluşturun:

myfamily = {
  "child1" : {
    "name" : "Phoebe Adele",
    "year" : 2002
  },
  "child2" : {
    "name" : "Jennifer Katharine",
    "year" : 1996
  },
  "child3" : {
    "name" : "Rory John",
    "year" : 1999
  }
}

Çalışma Örneği

veya, üç zaten var olan sözlüğü içeren üç sözlük içeren bir sözlük oluşturmak istiyorsanız:

Örnek

Üç sözlük oluşturun, ardından bu üç sözlüğün bulunduğu bir sözlük oluşturun:

child1 = {
  "name" : "Phoebe Adele",
  "year" : 2002
}
child2 = {
  "name" : "Jennifer Katharine",
  "year" : 1996
}
child3 = {
  "name" : "Rory John",
  "year" : 1999
}
myfamily = {
  "child1" : child1,
  "child2" : child2,
  "child3" : child3
}

Çalışma Örneği

dict() yapıcı fonksiyonu

Ayrıca dict() Yapıcı fonksiyon yeni bir sözlük oluşturur:

Örnek

thisdict = dict(brand="Porsche", model="911", year=1963)
# Lütfen dikkat edin, anahtar kelime bir dize ifadesi değil
# Lütfen dikkat edin, atama işareti olarak eşittir kullanıldı
print(thisdict)

Çalışma Örneği

Sözlük Metotları

Python, sözlükler üzerinde kullanılabilen bir grup yerleşik metot sunar.

Metod Açıklama
clear() Sözlüğündeki tüm elemanları sil
copy() Sözlüğün kopyasını döndür
fromkeys() Belirtilen anahtar ve değeri içeren sözlüğü döndür
get() Belirtilen anahtarın değerini döndür
items() Her bir anahtar-değer çiftini içeren küme listesini döndür
keys() Sözlüğün anahtarlarının listesini döndür
pop() Belirtilen anağa sahip elementi sil
popitem() Son eklenen anahtar-değer çiftini sil
setdefault() Belirtilen anahtarın değerini döndür. Eğer bu anahtar yoksa, belirtilen değeri içeren anahtarı ekler.
update() Belirtilen anahtar-değer çifti ile sözlüğü güncelle
values() Sözlükteki tüm değerlerin listesini döndür