Métodos de Ordenamiento
El caos no sirve en programación. Aprende a organizar tus listas de menor a mayor, alfabéticamente o bajo tus propios criterios personalizados.
1. Sort vs Sorted
Ambos ordenan, pero funcionan distinto. ¿Quieres modificar la lista original o crear una copia ordenada?
gavel .sort()
Destructivo: Modifica la lista original. No retorna nada (None).
lista.sort()
# lista ahora es [1, 2, 3]
filter_list sorted()
Seguro: Retorna una nueva lista ordenada. La original queda intacta.
nueva = sorted(lista)
# nueva: [1, 2, 3], lista: [3, 1, 2]
2. Criterios Propios (Key)
Por defecto, Python ordena números por valor y strings alfabéticamente. Pero, ¿y si queremos ordenar por el segundo carácter? ¿O ordenar objetos complejos? Usamos el parámetro key.
return len(palabra)
frutas.sort(key=por_largo)
print(frutas) - ["uva", "kiwi", "sandía"]
3. Ordenando Objetos
Python no sabe si un Jugador es "menor" que otro. Debes decirle explícitamente qué atributo comparar usando key.
return jugador.puntaje
jugadores.sort(key=por_puntaje)
# Resultado: Rodrigo (-1000), Valeria (1103), Cristian (1200)
4. Orden Inverso (Reverse)
Por defecto, el ordenamiento es ascendente (menor a mayor). Para invertirlo, no necesitas lógica compleja, solo un parámetro mágico: reverse.
# [1, 5, 10]
# [10, 5, 1]