Comment travailler avec des deques

2022-10-12 15:35:07  marcredi  4709 mots  

Un deque est simplement une file dans laquelle vous pouvez ajouter ou supprimer des éléments à chaque extrémité. Pour fixer les idées, vous pouvez imaginer un deque comme une sorte de ligne horizontale. Certaines fonctions individuelles agissent sur le début et sur la fin de cette ligne pour voir l’agrandir ou au contraire la raccourcir.

Les étapes qui suivent vous aident à créer un exemple qui montre l’usage d’un deque. Vous pouvez également le retrouver dans le fichier téléchargeable DequeData.py.

  1. Ouvrez une fenêtre de fichier Python.
    Vous pouvez par exemple lancer Python en mode Shell, puis choisir dans le menu File la commande New File.
  2. Tapez le code suivant en appuyant sur Entrée à la fin de chaque ligne :
    import collections
    
    MyDeque = collections.deque("abcdef", 10)
    
    print("État initial :")
    for Item in MyDeque:
       print(Item, end=" ")
    
    print("\r\n\r\nAjout et extension à droite")
    MyDeque.append("h")
    MyDeque.extend("ij")
    for Item in MyDeque:
       print(Item, end=" ")
    print("\r\nMyDeque contient {0} éléments."
          .format(len(MyDeque)))
    
    print("\r\nPop à droite")
    print("Pop de {0}".format(MyDeque.pop()))
    for Item in MyDeque:
       print(Item, end=" ")
    
    print("\r\n\r\nAjout et extension à gauche")
    MyDeque.appendleft("a")
    MyDeque.extendleft("bc")
    for Item in MyDeque:
       print(Item, end=" ")
    print("\r\nMyDeque contient {0} éléments."
          .format(len(MyDeque)))
    
    print("\r\nPop à gauche")
    print("Pop de {0}".format(MyDeque.popleft()))
    for Item in MyDeque:
       print(Item, end=" ")
    
    print("\r\n\r\nSuppression")
    MyDeque.remove("a")
    for Item in MyDeque:
       print(Item, end=" ")
    L’implémentation 【信息论】(程序的)安装 des deques se trouve dans le module collections, qui est donc importé 导入 au début du code. Lorsque vous créez un deque, vous pouvez spécifier comme ici (mais facultativement) une liste d’éléments itérables, donc qui peuvent être parcourus, ainsi qu’une taille maximale.
    Un deque fait la différence entre ajouter un élément, et ajouter un groupe d’éléments. Dans le premier cas, vous utilisez les fonctions append () et appendleft (). Dans le second cas, vous faites appel aux fonctions extend() et extendleft (). Pour supprimer un élément à la fois, vous disposez des fonctions pop () et popleft (). Ces fonctions renvoient l’élément supprimé, ce qui permet de l’afficher. La fonction remove () est particulière, car elle part toujours de l’extrémité gauche et supprime la première instance de la donnée spécifiée.
    Contrairement à certaines autres collections, un objet deque peut être parcouru à l’aide d’une boucle for chaque fois que c’est nécessaire.
  3. Choisissez la commande Run Module dans le menu Run.
    Une fenêtre Python en mode Shell va s’ouvrir. L’application affiche les résultats illustrés sur la Figure.
    Il est important de suivre de près la sortie. Notez comment la taille du deque change à chaque fois. Une fois que l’application a supprimé le j, le deque contient encore huit éléments. Lorsque l’application étend le deque en lui ajoutant trois éléments, la longueur affichée n’est pourtant que de dix éléments. Dans ce cas, la longueur maximum a été dépassée, et le supplément disparaît simplement.
    Figure : Un deque fournit notamment des fonctions permettant de gérer les extrémités d’une file.
    État initial :
    a b c d e f 
    
    Ajout et extension à droite
    a b c d e f h i j 
    MyDeque contient 9 éléments.
    
    Pop à droite
    Pop de j
    a b c d e f h i 
    
    Ajout et extension à gauche
    c b a a b c d e f h 
    MyDeque contient 10 éléments.
    
    Pop à gauche
    Pop de c
    b a a b c d e f h 
    
    Suppression
    b a b c d e f h 
Commentaire