Rotation de liste Python
Le langage de programmation Python offre de nombreuses méthodes pour manipuler les listes, y compris la tâche de rotation de ses éléments. La rotation consiste à décaler chaque élément d'une liste d'un nombre spécifié de positions dans une direction spécifiée, soit vers la droite, soit vers la gauche.
Une approche simple et efficace de la rotation de liste en Python consiste à découper et à concaténer. Le code suivant définit une fonction qui effectue cette opération :
def rotate(l, n):
return l[-n:] l[:-n]
Dans cette fonction, l représente la liste d'entrée et n indique le nombre de positions à faire pivoter. La fonction crée d'abord deux nouvelles listes en utilisant le découpage : l[-n:] et l[:-n]. Le premier capture les éléments à la fin de la liste, tandis que le second capture les éléments restants. Les deux listes sont ensuite concaténées pour obtenir la rotation souhaitée.
Par exemple, considérons la liste Python l ci-dessous :
l = [1, 2, 3, 4, 5]
Si nous souhaitons faire pivoter l d'une position vers la droite, nous appellerions rotate(l, 1):
rotated_l = rotate(l, 1)
print(rotated_l) # Output: [2, 3, 4, 5, 1]
Dans cet exemple, le premier élément de la liste d'origine est décalé vers la fin, ce qui donne la liste de sortie [2, 3 , 4, 5, 1].
La fonction de rotation peut également gérer des valeurs négatives de n, ce qui indique une rotation vers la gauche. En utilisant un n négatif, les éléments sont déplacés vers la droite au lieu de la gauche.
rotated_l = rotate(l, -1)
print(rotated_l) # Output: [5, 1, 2, 3, 4]
Dans ce cas, l pivote d'une position vers la gauche, déplaçant le dernier élément vers l'avant.
Il est important de noter que la fonction de rotation ne modifie pas la liste d'entrée l. Au lieu de cela, il crée une nouvelle liste avec les éléments pivotés. Ce comportement s'aligne sur la conception de liste immuable de Python, où la modification de la liste d'origine est déconseillée.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3