OrderedDict
- Python kursu
- Orta seviye
- Ders 90/116
- 5 dk
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
# OrderedDict ile anahtar sırasını değiştirÖrnek çözüm
# 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ı
od = OrderedDict()
od["a"] = 1
od["b"] = 2
od.____("a")
print(list(od.keys()))
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 |