Maison >développement back-end >Tutoriel Python >Comment « collections.deque » de Python peut-il optimiser la rotation des listes ?

Comment « collections.deque » de Python peut-il optimiser la rotation des listes ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-16 22:39:13913parcourir

How Can Python's `collections.deque` Optimize List Rotation?

Rotation efficace des listes en Python : une approche alternative

Le code Python fourni fait pivoter efficacement une liste en découpant et en combinant ses sections. Cependant, il existe une solution plus optimisée utilisant collections.deque.

Utilisation de la méthode Rotate de deque

deque est une structure de données conçue pour une insertion et une suppression efficaces aux deux extrémités. Il propose une méthode rotate() dédiée pour faire pivoter ses éléments. Cette approche est particulièrement avantageuse pour les grandes listes.

from collections import deque

items = deque([1, 2])
items.append(3)        # deque == [1, 2, 3]
items.rotate(1)        # deque == [3, 1, 2]
items.rotate(-1)       # Returns deque to original state: [1, 2, 3]
item = items.popleft() # deque == [2, 3]

Dans l'exemple ci-dessus :

  • Les éléments sont ajoutés au deque à l'aide de append().
  • rotate (1) fait pivoter le deque d'une position vers la droite (dans le sens des aiguilles d'une montre).
  • rotate(-1) le fait pivoter d'une position vers la gauche (dans le sens inverse des aiguilles d'une montre).
  • popleft(), comme rotate(), supprime efficacement un élément de l'extrémité gauche.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn