deque
Hızlı çift uçlu kuyruklar kullanın
deque, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Çift uçlu kuyruk nedir?
deque (''dek'' diye telaffuz edilir), collections modülündeki bir çift uçlu kuyruktur. Her iki uçtan hızlı şekilde ekleme ve çıkarma işlemlerini destekler.
Şu şekilde içe aktarın: from collections import deque.
from collections import deque
d = deque([1, 2, 3])
print(d)Neden yalnızca liste kullanmayalım?
Listelerin ön kısmına ekleme yapmak veya buradan öğe çıkarmak yavaştır; çünkü her öğenin kaydırılması gerekir. Bir deque, ön kısımdaki işlemleri sabit zamanda gerçekleştirir ve bu nedenle kuyruklar için idealdir.
from collections import deque
d = deque(['b', 'c'])
d.appendleft('a')
print(d)Her iki uca ekleme
Sağa eklemek için .append(), sola eklemek için .appendleft() kullanın.
from collections import deque
d = deque()
d.append(1)
d.append(2)
d.appendleft(0)
print(d)Her iki uçtan çıkarma
.pop() en sağdaki öğeyi kaldırıp döndürür; .popleft() ise en soldakini kaldırır. İkisi de hızlıdır.
from collections import deque
d = deque([10, 20, 30])
print(d.pop())
print(d.popleft())
print(d)Basit bir kuyruk (FIFO)
İlk giren ilk çıkar davranışı için sağa append, soldan popleft uygulayın. Öğeler, geldikleri sırayla kuyruktan çıkar.
from collections import deque
queue = deque()
queue.append('first')
queue.append('second')
print(queue.popleft())
print(queue.popleft())Maksimum uzunlukla sınırlandırılmış çift uçlu kuyruk
Boyutu sınırlamak için bir maxlen verin. Kuyruk dolduğunda bir uca ekleme yapmak, diğer uçtaki bir öğeyi otomatik olarak atar; bu özellik, yakın geçmişi tutmak için çok kullanışlıdır.
from collections import deque
recent = deque(maxlen=3)
for n in [1, 2, 3, 4, 5]:
recent.append(n)
print(recent)Öğeleri döndürme
.rotate(n), öğeleri n adım sağa kaydırır; negatif bir n sola döndürür. Öğeler, uçtan taşarak diğer uca geçer.
from collections import deque
d = deque([1, 2, 3, 4, 5])
d.rotate(2)
print(d)
d.rotate(-1)
print(d)Toplu olarak genişletme
.extend() sağa birçok öğe ekler, .extendleft() ise bunları sola ekler. extendleft ile eklediğiniz öğelerin sırasını tersine çevirir.
from collections import deque
d = deque([3])
d.extend([4, 5])
d.extendleft([2, 1])
print(d)İndeksleme ve uzunluk
Bir çift uçlu kuyruk, liste gibi indekslemeyi destekler ve len() ile çalışır. Ortadaki bir öğeye erişmek, uçlardaki öğelere erişmekten daha yavaştır; bu nedenle uç işlemlerini tercih edin.
from collections import deque
d = deque(['a', 'b', 'c'])
print(d[0])
print(d[-1])
print(len(d))Temizleme ve ters çevirme
.reverse(), çift uçlu kuyruğun sırasını yerinde tersine çevirir; .clear() ise onu boşaltır. İkisi de çift uçlu kuyruğu doğrudan değiştirir.
from collections import deque
d = deque([1, 2, 3])
d.reverse()
print(d)
d.clear()
print(d)Tekrarları sayma
Liste gibi, bir çift uçlu kuyrukta da bir değerin kaç kez göründüğünü saymak için .count() bulunur.
from collections import deque
d = deque([1, 2, 2, 3, 2])
print(d.count(2))Kısa kontrol
Bir çift uçlu kuyrukla FIFO kuyruğu oluşturuyorsunuz. Hangi yöntem çifti, doğru ilk giren ilk çıkar sırasını sağlar?
Özet: çift uçlu kuyruk
Bir deque'nin:
- Listeden farklı olarak her iki uçta hızlı
append/popişlemlerini desteklediğini, - Sol taraf için
appendleftvepopleftyöntemlerine sahip olduğunu, - Yalnızca yakın zamandaki öğeleri tutmak için
maxlenile sınırlandırılabildiğini, - Kuyruk tarzı işlemler için
rotate,extend,reversevecountsunduğunu öğrendiniz.
from collections import deque
q = deque(maxlen=2)
for x in ['a', 'b', 'c']:
q.append(x)
print(q)Sıkça Sorulan Sorular
“deque” dersi ücretsiz mi?
Evet — “deque” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“deque” dersinde ne öğreneceğim?
Hızlı çift uçlu kuyruklar kullanın Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“deque” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.