Sort lists
Supongamos que tenemos una lista desordenada
list = [1, 4, 7, 2, 5, 8, 3, 6, 9]print(list)
[1, 4, 7, 2, 5, 8, 3, 6, 9]
Y que la queremos ordenar, así que usamos el método sort()
list.sort()print(list)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
El problema del método sort()
es que modifica la lista original, si volvemos a imprimir la lista vemos que la tenemos ordenada, y no tenemos la original
print(list)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Volvemos a crear la lista original
list = [1, 4, 7, 2, 5, 8, 3, 6, 9]print(list)
[1, 4, 7, 2, 5, 8, 3, 6, 9]
Para ordenar una lista sin modificarla podemos usar la función sorted()
print(sorted(list))
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Si ahora volvemos a imprimir la lista original, vemos que no ha cambiado
print(list)
[1, 4, 7, 2, 5, 8, 3, 6, 9]
Lo mismo ocurre si la queremos ordenar en orden inverso, podemos usar el método .reverse()
list.reverse()print(list)
[9, 6, 3, 8, 5, 2, 7, 4, 1]
Si imprimimos la lista vemos que está ordenada en orden inverso y no como la teníamos al principio.
print(list)
[9, 6, 3, 8, 5, 2, 7, 4, 1]
Volvemos a crear la lista original
list = [1, 4, 7, 2, 5, 8, 3, 6, 9]print(list)
[1, 4, 7, 2, 5, 8, 3, 6, 9]
Si queremos ordenar una lista sin modificarla, volvemos a usar la función sorted()
, pero con el argumento reverse=True
print(sorted(list, reverse=True))
[9, 8, 7, 6, 5, 4, 3, 2, 1]
Si ahora imprimimos la lista original, vemos que no ha cambiado.
print(list)
[1, 4, 7, 2, 5, 8, 3, 6, 9]