/Ordenamiento

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.

compare_arrows

1. Sort vs Sorted

Ambos ordenan, pero funcionan distinto. ¿Quieres modificar la lista original o crear una copia ordenada?

edit_off

gavel .sort()

Destructivo: Modifica la lista original. No retorna nada (None).

lista = [3, 1, 2]
lista.sort()
# lista ahora es [1, 2, 3]
content_copy

filter_list sorted()

Seguro: Retorna una nueva lista ordenada. La original queda intacta.

lista = [3, 1, 2]
nueva = sorted(lista)
# nueva: [1, 2, 3], lista: [3, 1, 2]
tune

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.

ordenamiento.pyPython
# 1. Definimos una función que retorna el valor a comparar
def por_largo(palabra):
    return len(palabra)
# 2. Pasamos la función (SIN PARÉNTESIS) al parámetro key
frutas = ["kiwi", "sandía", "uva"]
frutas.sort(key=por_largo)
print(frutas) - ["uva", "kiwi", "sandía"]
category

3. Ordenando Objetos

Python no sabe si un Jugador es "menor" que otro. Debes decirle explícitamente qué atributo comparar usando key.

Puntaje
-1000
Rodrigo
Puntaje
1200
Cristian
Puntaje
1103
Valeria
puntaje.pyPython
def por_puntaje(jugador):
  return jugador.puntaje

jugadores.sort(key=por_puntaje)
# Resultado: Rodrigo (-1000), Valeria (1103), Cristian (1200)
swap_vert

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.

reverse=False (Default)north_east
lista.sort()
# [1, 5, 10]
reverse=Truesouth_east
lista.sort(reverse=True)
# [10, 5, 1]
Cargando Quiz...

Labs Disponibles

bar_chart

El Visualizador de Sort

play_circleIniciar Lab