Como Ordenar Una Lista En Python

En Python, ordenar una lista significa organizar sus elementos en un orden específico. Este orden puede ser ascendente (de menor a mayor) o descendente (de mayor a menor). Ordenar facilita la búsqueda y el análisis de datos.
El método sort()
Python ofrece el método sort() para ordenar listas directamente. Modifica la lista original.
Ejemplo:
Must Read
mi_lista = [3, 1, 4, 1, 5, 9, 2, 6]
mi_lista.sort()
print(mi_lista) # Imprime: [1, 1, 2, 3, 4, 5, 6, 9]
Aquí, mi_lista.sort() ordena los números de menor a mayor.
Para ordenar de forma descendente, usamos el argumento reverse=True:

mi_lista = [3, 1, 4, 1, 5, 9, 2, 6]
mi_lista.sort(reverse=True)
print(mi_lista) # Imprime: [9, 6, 5, 4, 3, 2, 1, 1]
La función sorted()
La función sorted() también ordena listas, pero a diferencia de sort(), crea una nueva lista ordenada. La lista original no se modifica.
Ejemplo:
mi_lista = [3, 1, 4, 1, 5, 9, 2, 6]
lista_ordenada = sorted(mi_lista)
print(mi_lista) # Imprime: [3, 1, 4, 1, 5, 9, 2, 6] (sin cambios)
print(lista_ordenada) # Imprime: [1, 1, 2, 3, 4, 5, 6, 9]
De nuevo, podemos usar reverse=True para ordenar de forma descendente:

mi_lista = [3, 1, 4, 1, 5, 9, 2, 6]
lista_ordenada = sorted(mi_lista, reverse=True)
print(lista_ordenada) # Imprime: [9, 6, 5, 4, 3, 2, 1, 1]
Ordenando Cadenas de Texto
sort() y sorted() también funcionan con cadenas de texto. Ordenan alfabéticamente.
Ejemplo:

palabras = ["manzana", "banana", "cereza", "dátil"]
palabras.sort()
print(palabras) # Imprime: ['banana', 'cereza', 'dátil', 'manzana']
Ordenando Listas de Objetos
Para listas de objetos (como diccionarios o clases), puedes usar el argumento key en sort() y sorted(). key especifica una función que se usa para extraer una clave de cada elemento para la comparación.
Ejemplo:
estudiantes = [{"nombre": "Ana", "edad": 20}, {"nombre": "Juan", "edad": 18}, {"nombre": "Maria", "edad": 22}]
def obtener_edad(estudiante):
return estudiante["edad"]
estudiantes.sort(key=obtener_edad) # Ordena por edad
print(estudiantes)
# Imprime: [{'nombre': 'Juan', 'edad': 18}, {'nombre': 'Ana', 'edad': 20}, {'nombre': 'Maria', 'edad': 22}]
En resumen, sort() modifica la lista original, mientras que sorted() crea una nueva lista ordenada. Elige el método que mejor se adapte a tus necesidades. Recuerda el uso de reverse=True para orden descendente y el argumento key para ordenamientos más complejos.
