CodeBlanks Logo Icon CodeBlanks

OrderedDict

OrderedDict ile sıralı sözlüğü öğrenirsin.

OrderedDict

OrderedDict, anahtarların eklenme sırasını koruyan sözlük türüdür. Python 3.7+ sürümünde standart dict de sırayı korur ama OrderedDict ek metotlar sunar.

En önemli ek metot move_to_end(key, last=True)'dir. Bir anahtarı listenin sonuna (varsayılan) ya da başına taşır. popitem(last=True) ise son ya da ilk öğeyi sözlükten çıkarır. Bu metotlar önbellek ya da sıralı kuyruk uygulamalarında kullanışlıdır.

move_to_end metodu

move_to_end ile bir anahtarı sözlüğün sonuna ya da başına taşırsın. Varsayılan olarak anahtar sona gider; last=False verirsen başa taşınır. Bu, LRU (en az kullanılan) önbellek gibi yapılarda sık kullanılır.

Örnek: od = OrderedDict()\nod["a"] = 1\nod["b"] = 2\nod.move_to_end("a"). Bu kodun sonunda sıra b, a olur. list(od.keys()) ile anahtarları sıralı liste olarak görebilirsin.

Uygulama OrderedDict ile sıra değiştir

from collections import OrderedDict ile başla. od = OrderedDict() ile bir OrderedDict oluştur. od["a"] = 1 ve od["b"] = 2 ile iki anahtar ekle. od.move_to_end("a") ile a'yı sona taşı. Sonra print(list(od.keys())) ile anahtarları yazdır.

Başlangıç kodu

main.py
# OrderedDict ile anahtar sırasını değiştir

Örnek çözüm

main.py
# OrderedDict ile anahtar sırasını değiştir
from collections import OrderedDict

od = OrderedDict()
od["a"] = 1
od["b"] = 2
od.move_to_end("a")
print(list(od.keys()))

Beklenen çıktı

['b', 'a']

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 OrderedDict hangi modülden gelir?

  • functools
  • typing
  • itertools
  • collections Doğru cevap

Açıklama: OrderedDict collections modülündedir.

2 move_to_end çağrısı

Soru
od = OrderedDict()
od["a"] = 1
od["b"] = 2
od.____("a")
print(list(od.keys()))
Cevap
od = OrderedDict()
od["a"] = 1
od["b"] = 2
od.move_to_end("a")
print(list(od.keys()))

Açıklama: move_to_end anahtarı sona taşır.

3 OrderedDict parçalarını eşleştir

Kavram Anlamı
OrderedDict Sıralı sözlük
move_to_end Anahtarı taşır
popitem Öğe çıkarır
collections Modül

Orta seviye bölümündeki tüm dersler