Maison > développement back-end > Tutoriel Python > Comment puis-je faire pivoter efficacement une liste en Python ?

Comment puis-je faire pivoter efficacement une liste en Python ?

Susan Sarandon
Libérer: 2024-12-15 10:07:14
original
908 Les gens l'ont consulté

How Can I Efficiently Rotate a List in Python?

Rotation efficace des listes en Python

La rotation d'une liste fait référence au déplacement de ses éléments d'un nombre spécifié de positions dans les deux sens. Bien que le code fourni utilisant le découpage soit fonctionnel, des améliorations de performances peuvent être obtenues.

Utilisation de Collections.Deque

La bibliothèque standard Python fournit une structure de données plus efficace pour de telles opérations : collections.deque. Les deques sont optimisés pour effectuer des opérations telles que la mise en file d'attente et la sortie de la file d'attente des deux extrémités. Ils proposent également une méthode rotate() dédiée.

Pour utiliser un deque pour la rotation de liste, suivez ces étapes :

  1. Importez la classe deque : à partir des collections, importez deque.
  2. Initialisez un deque à partir de la liste d'origine : items = deque(list()).
  3. Pour faire pivoter le deque, utilisez la méthode rotate(), précisant le nombre de postes à décaler. Les valeurs positives se déplacent vers la droite, tandis que les valeurs négatives se déplacent vers la gauche.
  4. Récupérez le premier élément du deque en utilisant popleft() ou popright() pour obtenir la liste pivotée.

Exemple

Considérons l'exemple suivant :

from collections import deque

items = deque([1, 2, 3])
items.rotate(1)        # deque == [3, 1, 2]
items.rotate(-1)       # deque returns to original state: [1, 2, 3]
item = items.popleft() # deque == [2, 3]
Copier après la connexion

Dans ce Dans ce cas, le deque commence par [1, 2, 3]. Après avoir tourné une fois vers la droite, cela devient [3, 1, 2]. Une rotation vers la gauche le rétablit dans son ordre d'origine. Enfin, la suppression du premier élément entraîne le deque contenant [2, 3].

En utilisant deque et sa méthode rotate(), vous pouvez obtenir une rotation de liste efficace en Python.

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