Introducción
Al trabajar con listas en Python, a veces puede ser necesario invertir los elementos de una lista. Invertir una lista significa que el primer elemento de la lista se convierte en el último, el segundo se convierte en el penúltimo, el último elemento se convierte en el primero y así sucesivamente.
En Python, hay varias formas de invertir una lista, según lo que intente hacer.
Método inverso ()
reverse()
es un método con el tipo de datos l ista que invierte los elementos de la lista en su lugar. Este método modifica la lista original en lugar de crear una nueva.
La sintaxis del reverse()
es la siguiente:
list.reverse()
reverse()
no acepta argumentos.
Aquí hay un ejemplo:
capitals = ['Oslo', 'Skopje', 'Riga', 'Madrid']
capitals.reverse()
print('Reversed list:', capitals)
Reversed list: ['Madrid', 'Riga', 'Skopje', 'Oslo']
Función invertida ()
reversed()
es una función incorporada de Python que devuelve un iterador invertido de un objeto iterable dado. La lista original no se modifica.
Si solo desea iterar los elementos de la lista en orden inverso, puede usar la función reversed()
, ya que es más rápida.
La sintaxis de la función reversed()
es la siguiente:
reversed(seq)
¿Dónde está la seq
que desea restaurar?
A continuación se muestra un ejemplo que usa reversed()
para recorrer los elementos de la lista en orden inverso:
numbers = [1, 2, 3, 4]
for i in reversed(numbers):
print(i)
4
3
2
1
Si desea convertir el iterador invertido en una lista, use el constructor list()
numbers = [1, 2, 3, 4]
print(list(reversed(numbers)))
[4, 3, 2, 1]
Invertir una lista usando Slicing
La notación de corte es una función incorporada de Python que le permite extraer partes de un tipo de datos secuenciales. Puede usar la notación [::-1]
en lugar de una lista:
numbers = [1, 2, 3, 4]
print(numbers[::-1])
El resultado de cortar una lista es una nueva lista que contiene los elementos extraídos. La lista original no se modifica.
[4, 3, 2, 1]
Conclusión
Para invertir las posiciones de una lista de Python, use el método reverse()
Si solo necesita crear un iterador invertido, use la función reversed()
.