Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Choisir une pile ou une file

La leçon entière est à lire ici. Créez un compte gratuit pour lancer ses commandes dans un laboratoire et passer ses quiz et ses exercices.

Leçon de 45 minAucune commande

Ctrl+Z et l’imprimante du bureau

Vous tapez un courrier. Vous mettez un mot en gras, puis vous changez sa couleur. Vous appuyez sur Ctrl+Z.

C’est la couleur qui disparaît, pas le gras. La dernière action est annulée en premier.

À l’imprimante du bureau, c’est l’inverse : le premier document envoyé sort en premier. Ces deux règles ont un nom en informatique.

À la fin de cette leçon

Remarque

Je peux choisir une pile ou une file pour un besoin donné.

Mots-clés

MotCe que ça veut direExemple
Pilele dernier arrivé sort en premier
Filele premier arrivé sort en premier
Sommetl’élément du dessus d’une pile
Têtel’élément le plus ancien d’une file
popretire un élément d’une liste et le rendhistorique.pop()
dequeune file rapide fournie par Pythonfrom collections import deque

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une pile rend le dernier élément arrivé

Pensez à une pile d’assiettes. On pose la nouvelle assiette sur le dessus. On prend aussi celle du dessus.

En Python, une liste fait une très bonne pile. append pose un élément au sommet. pop() retire l’élément du sommet et le rend.

On l’utilise pour annuler des actions, ou pour revenir en arrière dans un navigateur.

À vous : annuler des actions

Code: python
# L'historique d'un éditeur de texte : chaque action est empilée.
historique = []
historique.append("taper Bonjour")
historique.append("mettre en gras")
historique.append("changer la couleur")
print("Historique :", historique)

# Ctrl+Z : on annule la dernière action, celle du sommet.
annulee = historique.pop()
print("Annulé :", annulee)
print("Reste :", historique)

# Appuyez encore une fois sur Ctrl+Z : ajoutez un deuxième pop.

Exemple travaillé : la pile pas à pas

ActionPile après l’actionÉlément rendu
append("taper")taperrien
append("gras")taper, grasrien
append("couleur")taper, gras, couleurrien
pop()taper, grascouleur
pop()tapergras

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une file sert dans l’ordre d’arrivée

Pensez à la queue au bureau de poste. Le premier arrivé passe en premier. Les nouveaux se mettent au bout.

Une file marche ainsi. On ajoute au bout avec append. On retire la tête avec pop(0).

On l’utilise pour une imprimante, des tickets de support ou des commandes à préparer.

À vous : la file d’impression

Code: python
# La file d'impression de l'imprimante du deuxième étage.
file_impression = []
file_impression.append("Facture_mars.pdf")
file_impression.append("Planning_equipe.xlsx")
file_impression.append("Contrat_Dupont.docx")

# L'imprimante prend toujours le plus ancien document : la tête.
while len(file_impression) > 0:
    document = file_impression.pop(0)
    print("Impression de", document)

print("File vide.")

# Ajoutez un quatrième document, puis exécutez.

Une erreur fréquente

Attention

Beaucoup pensent que pop() sans rien entre les parenthèses sert une file. C’est faux : il retire le dernier élément. Pour une file, écrivez pop(0). Sinon le client arrivé en dernier passe avant tout le monde.

Choisir selon l’ordre voulu

Posez-vous une seule question : qui doit sortir en premier ?

Si c’est le plus récent, prenez une pile. Si c’est le plus ancien, prenez une file.

Pour une très longue file, pop(0) devient lent, car tous les éléments reculent. Les développeurs utilisent alors deque, prévu pour cela.

Exemple travaillé : quel choix ?

BesoinQui sort en premier ?Structure
Annuler la saisie dans un tableurLa dernière actionPile
Traiter les tickets du supportLe plus ancien ticketFile
Bouton Retour du navigateurLa dernière page vuePile
Préparer les colis du jourLa plus ancienne commandeFile

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.