Aller au contenu

Autour des files

Autour des files⚓︎

Les files sont des listes particulières dont les éléments ne peuvent être ajoutés qu'en tête, et retirés qu'à partir de la queue.

files

Ce fonctionnement est appelé FIFO : First In, First Out.

C'est le principe des files d'attente : les personnes entre dans une file et en ressortent dans le même ordre dans lequel elles sont rentrées.

  • enfile : action d'ajouter un élément en tête de la file
  • défile : action de retirer un élément de la queue de la file

En Python, les files peuvent être créées par le type list. Ce type dispose de méthodes pour ajouter ou supprimer des éléments.

  • La méthode append permet d'ajouter un élément en queue de liste.
🐍 Script Python
>>> nouvelle_liste = [1, 2, 3]
>>> nouvelle_liste.append(4)
>>> nouvelle_liste
[1, 2, 3, 4]
  • La méthode pop retire un élément de la liste et le renvoie. Sans paramètre, elle retire par défaut l'élément en queue de la liste.
    🐍 Script Python
    >>> nouvelle_liste = [1, 2, 3, 4]
    >>> nouvelle_liste.pop()
    4
    >>> nouvelle_liste
    [1, 2, 3]
    >>> nouvelle_liste.pop(0)
    1
    >>> nouvelle_liste
    [2, 3]
    

Au travail⚓︎

Compléter le code ci-dessous :

assert premierepy-undfile == [21, 78]bksl-nlassert elementpy-unddefilepy-und1 == 42bksl-nlassert elementpy-unddefilepy-und2 == 15bksl-nlassert deuxiemepy-undfile == [57, 36, 64]bksl-nlassert troisiemepy-undfile == [12, 63, 22]bksl-nlbksl-nl ∞/∞

premierepy-undfile = [42, 15, 64]bksl-nldeuxiemepy-undfile = [22, 57, 36]bksl-nltroisiemepy-undfile = [78, 12, 63]bksl-nlbksl-nl#Enfiler l'élément 21 à la première filebksl-nl...bksl-nlbksl-nl#Défiler un élément à la première filebksl-nlelementpy-unddefilepy-und1 = ...bksl-nlbksl-nl#Défiler un nouvel élément à la première filebksl-nlelementpy-unddefilepy-und2 = ...bksl-nlbksl-nl#Défiler un élément de la première filebksl-nl#et l'enfiler dans la deuxième filebksl-nl...bksl-nlbksl-nl#Défiler un élément de la deuxième filebksl-nl#et l'enfiler dans la troisième filebksl-nl...bksl-nlbksl-nl#Défiler un élément de la troisième filebksl-nl#et l'enfiler dans la première filebksl-nl...bksl-nlbksl-nlpremierepy-undfile = [42, 15, 64]bksl-nldeuxiemepy-undfile = [22, 57, 36]bksl-nltroisiemepy-undfile = [78, 12, 63]bksl-nlbksl-nl#Enfiler l'élément 21 à la filebksl-nlpremierepy-undfile.append(21)bksl-nlbksl-nl#Défiler un élémentbksl-nlelementpy-unddefilepy-und1 = premierepy-undfile.pop(0)bksl-nlbksl-nl#Défiler un nouvel élémentbksl-nlelementpy-unddefilepy-und2 = premierepy-undfile.pop(0)bksl-nlbksl-nl#Défiler un élément de la première pilebksl-nl#et l'empiler dans la deuxième pilebksl-nlelement = premierepy-undfile.pop(0)bksl-nldeuxiemepy-undfile.append(element)bksl-nlbksl-nl#Dépiler un élément de la deuxième pilebksl-nl#et l'empiler dans la troisième pilebksl-nlelement = deuxiemepy-undfile.pop(0)bksl-nltroisiemepy-undfile.append(element)bksl-nlbksl-nl#Dépiler un élément de la troisième pilebksl-nl#et l'empiler dans la première pilebksl-nlelement = troisiemepy-undfile.pop(0)bksl-nlpremierepy-undfile.append(element)bksl-nlbksl-nl

A

{{ IDE('exo_corr') }}

Z

Retour en haut de la page