0Pricing
Python Academy · Leçon

deque

Utiliser des files rapides à double extrémité

deque est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Qu’est-ce qu’une file à double extrémité ?

Une deque (prononcée « dèque ») est une file à double extrémité du module collections. Elle permet d’ajouter et de retirer rapidement des éléments aux deux extrémités.

Importez-la avec from collections import deque.

from collections import deque
d = deque([1, 2, 3])
print(d)

Pourquoi ne pas utiliser simplement une liste ?

Les listes sont lentes lorsque vous insérez ou retirez un élément au début, car chaque élément doit être décalé. Une deque effectue les opérations au début en temps constant, ce qui la rend idéale pour les files d’attente.

from collections import deque
d = deque(['b', 'c'])
d.appendleft('a')
print(d)

Ajout aux deux extrémités

Utilisez .append() pour ajouter à droite et .appendleft() pour ajouter à gauche.

from collections import deque
d = deque()
d.append(1)
d.append(2)
d.appendleft(0)
print(d)

Retrait aux deux extrémités

.pop() supprime et renvoie l’élément le plus à droite ; .popleft() supprime celui le plus à gauche. Ces deux opérations sont rapides.

from collections import deque
d = deque([10, 20, 30])
print(d.pop())
print(d.popleft())
print(d)

Une file simple (FIFO)

Pour obtenir un comportement premier entré, premier sorti, ajoutez à droite et utilisez popleft à gauche. Les éléments sortent dans l’ordre où ils sont arrivés.

from collections import deque
queue = deque()
queue.append('first')
queue.append('second')
print(queue.popleft())
print(queue.popleft())

File à double extrémité bornée avec une taille maximale

Indiquez une taille maximale pour limiter la taille. Lorsqu’elle est pleine, l’ajout à une extrémité supprime automatiquement un élément à l’autre extrémité — idéal pour conserver l’historique récent.

from collections import deque
recent = deque(maxlen=3)
for n in [1, 2, 3, 4, 5]:
    recent.append(n)
print(recent)

Faire pivoter les éléments

.rotate(n) décale les éléments vers la droite de n positions ; un n négatif les fait pivoter vers la gauche. Les éléments reviennent au début lorsqu’ils dépassent une extrémité.

from collections import deque
d = deque([1, 2, 3, 4, 5])
d.rotate(2)
print(d)
d.rotate(-1)
print(d)

Extension en bloc

.extend() ajoute de nombreux éléments à droite et .extendleft() les ajoute à gauche. Notez que extendleft inverse l’ordre des éléments ajoutés.

from collections import deque
d = deque([3])
d.extend([4, 5])
d.extendleft([2, 1])
print(d)

Indexation et longueur

Une file à double extrémité prend en charge l’indexation comme une liste et est compatible avec len(). L’accès au milieu est plus lent que l’accès aux extrémités ; privilégiez donc les opérations sur les extrémités.

from collections import deque
d = deque(['a', 'b', 'c'])
print(d[0])
print(d[-1])
print(len(d))

Vider et inverser

.reverse() inverse la file à double extrémité sur place, tandis que .clear() la vide. Ces deux opérations modifient directement la file à double extrémité.

from collections import deque
d = deque([1, 2, 3])
d.reverse()
print(d)
d.clear()
print(d)

Compter les occurrences

Comme une liste, une file à double extrémité dispose de .count() pour compter le nombre d’apparitions d’une valeur.

from collections import deque
d = deque([1, 2, 2, 3, 2])
print(d.count(2))

Vérification rapide

Vous construisez une file FIFO avec une file à double extrémité. Quelle paire de méthodes produit un ordre premier entré, premier sorti correct ?

Récapitulatif : file à double extrémité

Vous avez appris qu’une file à double extrémité :

  • prend en charge rapidement append/pop aux deux extrémités, contrairement à une liste ;
  • dispose de appendleft et popleft pour le côté gauche ;
  • peut être bornée avec maxlen pour ne conserver que les éléments récents ;
  • propose rotate, extend, reverse et count pour les traitements de type file.
from collections import deque
q = deque(maxlen=2)
for x in ['a', 'b', 'c']:
    q.append(x)
print(q)

Questions Fréquemment Posées

La leçon « deque » est-elle gratuite ?

Oui — le texte complet de « deque » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « deque » ?

Utiliser des files rapides à double extrémité Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « deque » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Counter
  2. defaultdict
  3. deque
  4. namedtuple et OrderedDict
← Retour à Python Academy