Rotación de listas de Python
El lenguaje de programación Python ofrece numerosos métodos para manipular listas, incluida la tarea de rotar sus elementos. La rotación implica desplazar cada elemento de una lista en un número específico de posiciones en una dirección específica, ya sea hacia la derecha o hacia la izquierda.
Un enfoque simple y eficiente para la rotación de listas en Python es mediante la división y la concatenación. El siguiente código define una función que realiza esta operación:
def rotate(l, n):
return l[-n:] l[:-n]
En esta función, l representa la lista de entrada y n indica el número de posiciones a rotar. La función primero crea dos listas nuevas usando el corte: l[-n:] y l[:-n]. El primero captura los elementos al final de la lista, mientras que el segundo captura los elementos restantes. Luego, las dos listas se concatenan para lograr la rotación deseada.
Por ejemplo, considere la lista l de Python a continuación:
l = [1, 2, 3, 4, 5]
Si deseamos rotar l una posición hacia la derecha, llamaríamos a rotar(l, 1):
rotated_l = rotate(l, 1)
print(rotated_l) # Output: [2, 3, 4, 5, 1]
En este ejemplo, el primer elemento de la lista original se desplaza al final, lo que da como resultado la lista de salida [2, 3 , 4, 5, 1].
La función de rotación también puede manejar valores negativos de n, lo que indica rotación hacia la izquierda. Usando una n negativa, los elementos se mueven hacia la derecha en lugar de hacia la izquierda.
rotated_l = rotate(l, -1)
print(rotated_l) # Output: [5, 1, 2, 3, 4]
En este caso, l se gira una posición hacia la izquierda, moviendo el último elemento al frente.
Es importante tener en cuenta que la función de rotación no modifica la lista de entrada l. En cambio, crea una nueva lista con los elementos rotados. Este comportamiento se alinea con el diseño de lista inmutable de Python, donde no se recomienda modificar la lista original.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3