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
Libérer: 2024-12-16 22:39:13
original
910 Les gens l'ont consulté

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]
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal