Maison > développement back-end > Tutoriel Python > Programme Python pour faire pivoter les éléments de la liste

Programme Python pour faire pivoter les éléments de la liste

WBOY
Libérer: 2023-08-19 10:01:09
avant
1453 Les gens l'ont consulté

Programme Python pour faire pivoter les éléments de la liste

En Python, vous pouvez utiliser des listes pour conserver plusieurs éléments dans une seule variable. Les listes sont l'un des quatre types de données intégrés de Python utilisés pour stocker des collections de données. Les trois autres types, tuples, ensembles et dictionnaires, ont chacun des fonctions différentes. Les listes sont construites à l’aide de crochets. Comme les listes ne doivent pas nécessairement être homogènes, ce sont les outils les plus utiles en Python. Une liste peut contenir des types de données tels que des chaînes, des objets et des entiers. Les listes peuvent être modifiées après leur génération car elles sont mutables.

Cet article se concentre sur la sténographie et les nombreux raccourcis pour exprimer le concept en une phrase ou un mot. Cette opération est très importante pour les programmeurs et peut accomplir beaucoup de travail. Nous utiliserons Python pour montrer quatre manières différentes d'accomplir cette tâche.

Utilisation de la compréhension de liste

Lors de l'utilisation de cette méthode, il suffit de réaffecter l'index de chaque élément de la liste après une rotation à une position spécifique. En raison de sa mise en œuvre réduite, cette approche joue un rôle important dans la réalisation de la tâche.

Algorithme

  • Définir d'abord une liste.

  • Utilisez la compréhension de la liste.

  • Pour appliquer deux côtés différents à droite (i-index) et à gauche (i+index).

  • Imprimez la liste de sortie.

Grammaire

#rotateleft

list_1 = [list_1[(i + 3) % len(list_1)]
Copier après la connexion

#Pour une rotation à droite

list_1 = [list_1[(i - 3) % len(list_1)]
Copier après la connexion

Exemple

Ici, dans ce code, nous avons utilisé la compréhension de liste pour faire pivoter les éléments dans une liste qui est la rotation à droite et à gauche. La boucle For est utilisée pour parcourir la liste des éléments.

list_1 = [10, 14, 26, 37, 42]
print (" Primary list : " + str(list_1))
list_1 = [list_1[(i + 3) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after left rotate by 3 : " + str(list_1))
list_1 = [list_1[(i - 3) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after right rotate by 3(back to primary list) : "+str(list_1))
list_1 = [list_1[(i + 2) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after left rotate by 2 : " + str(list_1))
list_1 = [list_1[(i - 2) % len(list_1)]
   for i, x in enumerate(list_1)]
print ("Output of the list after right rotate by 2 : "+ str(list_1))
Copier après la connexion

Sortie

Primary list : [10, 14, 26, 37, 42]
Output of the list after left rotate by 3 : [37, 42, 10, 14, 26]
Output of the list after right rotate by 3(back to primary list) : [10, 14, 26, 37, 42]
Output of the list after left rotate by 2 : [26, 37, 42, 10, 14]
Output of the list after right rotate by 2 : [10, 14, 26, 37, 42]
Copier après la connexion

Ici, dans ce code, nous avons utilisé la compréhension de liste pour faire pivoter les éléments dans une liste qui est la rotation à droite et à gauche. La boucle For est utilisée pour parcourir la liste des éléments.

Utilisez des tranches

Cette technique spécifique est la technique standard. Avec le numéro de rotation, elle joint simplement le composant tranché plus tard à la partie tranchée plus tôt.

Algorithme

  • Définir d'abord une liste.

  • Utilisez la méthode de découpage.

  • Imprimez chaque liste après une rotation à droite et à gauche.

Grammaire

POUR TRANCHER

#rotateleft -

list_1 = list_1[3:] + list_1[:3]
Copier après la connexion

#rotateright -

list_1 = list_1[-3:] + list_1[:-3]
Copier après la connexion

Exemple

Le programme suivant réorganise les éléments d'une liste. La liste d'origine est [11, 34, 26, 57, 92]. Faites d'abord une rotation de 3 unités vers la gauche. [57, 92, 11, 34, 26]. Ensuite, faites pivoter vers la droite de 3 pour que les trois derniers éléments reviennent à leurs positions d'origine [11,34,26,57,92].

Tournez ensuite 2 fois vers la droite pour faire avancer les deux derniers éléments, obtenant ainsi [26, 57, 92, 11, 34]. Enfin, faites pivoter une fois vers la gauche et déplacez un élément du début à la fin, obtenant [57, 92, 11, 34, 26].

list_1 = [11, 34, 26, 57, 92]
print (" Primary list : " + str(list_1))
list_1 = list_1[3:] + list_1[:3]
print ("Output of the list after left rotate by 3 : " + str(list_1))
list_1 = list_1[-3:] + list_1[:-3]
print ("Output of the list after right rotate by 3(back to Primary list) : "+str(list_1))
list_1 = list_1[-2:] + list_1[:-2]
print ("Output of the list after right rotate by 2 : "+ str(list_1))
list_1 = list_1[1:] + list_1[:1]
print ("Output of the list after left rotate by 1 : " + str(list_1))
Copier après la connexion

Sortie

Primary list : [11, 34, 26, 57, 92]
Output of the list after left rotate by 3 : [57, 92, 11, 34, 26]
Output of the list after right rotate by 3(back to Primary list) : [11, 34, 26, 57, 92]
Output of the list after right rotate by 2 : [57, 92, 11, 34, 26]
Output of the list after left rotate by 1 : [92, 11, 34, 26, 57]
Copier après la connexion

Utilisation du module Numpy

En utilisant l'axe donné, nous pouvons également utiliser le module numpy.roll en python pour faire pivoter les éléments de la liste. Les éléments du tableau d'entrée seront déplacés en conséquence. Si un élément passe de la première position à la dernière position, il revient à sa position d'origine.

Algorithme

  • Importer le module numpy.roll

  • Définissez la liste et donnez l'index particulier.

  • Imprimez la liste de sortie.

Exemple

Une liste 'numéro' est créée et affectée aux valeurs 1, 2, 4, 10, 18 et 83. La variable i est fixée à 1. La fonction

np.roll() de la bibliothèque NumPy est ensuite utilisée sur le numéro de la liste avec un argument i qui décale chaque élément de la liste d'une position d'index (le premier élément devient le dernier).

import numpy as np
if __name__ == '__main__':
   number = [1, 2, 4, 10, 18, 83]
   i = 1
   x = np.roll(number, i)
   print(x)
Copier après la connexion

Sortie

[83 1 2 4 10 18]
Copier après la connexion

Utilisation de collections.deque.rotate()

La fonction

rotate() est une fonction intégrée fournie par la classe deque dans le module collections et est utilisée pour implémenter des opérations de rotation. Bien que moins connue, cette fonction est plus pratique.

Algorithme

  • Importez d’abord la classe deque depuis le module de collection.

  • Définir une liste

  • Imprimer la liste principale

  • Utilisez la fonction rotate() pour faire pivoter les éléments

  • Imprimez la sortie.

Exemple

Le programme suivant utilise la structure de données deque du module collections pour faire pivoter une liste. La liste d'origine est imprimée, puis elle pivote vers la gauche de 3 et imprime la nouvelle liste pivotée. Elle pivote ensuite vers la droite (retour à sa position d'origine) de. 3 et imprime la liste résultante.

from collections import deque
list_1 = [31, 84, 76, 97, 82]
print ("Primary list : " + str(list_1))
list_1 = deque(list_1)
list_1.rotate(-3)
list_1 = list(list_1)
print ("Output list after left rotate by 3 : " + str(list_1))
list_1 = deque(list_1)
list_1.rotate(3)
list_1 = list(list_1)
print ("Output list after right rotate by 3(back to primary list) : "+ str(list_1))
Copier après la connexion

Sortie

Primary list : [31, 84, 76, 97, 82]
Output list after left rotate by 3 : [97, 82, 31, 84, 76]
Output list after right rotate by 3(back to primary list) : [31, 84, 76, 97, 82]
Copier après la connexion
Conclusion

Dans cet article, nous expliquons brièvement quatre manières différentes de faire pivoter des éléments dans une liste.

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!

Étiquettes associées:
source:tutorialspoint.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal