Cuando trabaje con listas en Python, es posible que a veces necesite 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 diferentes de invertir una lista, según lo que intente hacer.

reverse()método

reverse()es un método de tipo de datos de lista que invierte los elementos de la lista en el lugar. Este método modifica la lista original en lugar de crear una nueva.

La sintaxis del reverse()método 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']

reversed()función

reversed()es una función integrada de Python que devuelve un iterador inverso de un objeto iterable dado. La lista original no se modifica.

Si solo desea iterar sobre los elementos de la lista en orden inverso, prefiera usar la reversed()función, ya que es más rápido que invertir los elementos en su lugar.

La sintaxis de la reversed()función es la siguiente:

reversed(seq) 

¿Dónde seqestá la lista que desea revertir?

A continuación se muestra un ejemplo que utiliza 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 list()constructor:

numbers = [1, 2, 3, 4]

print(list(reversed(numbers)))
[4, 3, 2, 1]

Invertir una lista usando Slicing

La notación de sectores es una función integrada de Python que le permite extraer partes de un tipo de datos secuenciales. Aunque no es muy pitónico, puedes usar la [::-1]notación inversa de una lista:

numbers = [1, 2, 3, 4]

print(numbers[::-1])

El resultado de dividir 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 revertir una lista de Python en su lugar, use el reverse()método. Si solo necesita crear un iterador inverso, use la reversed()función.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.