Maison > Article > développement back-end > 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.
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.
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.
#rotateleft
list_1 = [list_1[(i + 3) % len(list_1)]
#Pour une rotation à droite
list_1 = [list_1[(i - 3) % len(list_1)]
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))
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]
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.
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.
Définir d'abord une liste.
Utilisez la méthode de découpage.
Imprimez chaque liste après une rotation à droite et à gauche.
POUR TRANCHER
#rotateleft -
list_1 = list_1[3:] + list_1[:3]
#rotateright -
list_1 = list_1[-3:] + list_1[:-3]
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))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]
Algorithme
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)Sortie
[83 1 2 4 10 18]
Algorithme
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))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]
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!