Contenidos
Conceptos básicos de ordenación
1 2 3 |
# Introducción a la ordenación en Python numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] print(sorted(numeros)) # Imprime la lista ordenada |
Invocando .sort y sorted
1 2 3 4 5 6 7 8 |
# Uso del método sort() y la función sorted() numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] numeros.sort() # Ordena la lista en su lugar print(numeros) # Uso de sorted() para ordenar sin modificar la lista original numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] print(sorted(numeros)) |
Parámetro opcional reverse
1 2 3 |
# Uso del parámetro reverse para ordenar en orden inverso numeros = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] print(sorted(numeros, reverse=True)) # Ordena en orden descendente |
Parámetro opcional key
1 2 3 4 5 6 7 8 9 10 11 |
# Uso del parámetro key para ordenar por la longitud de las palabras palabras = ["manzana", "banana", "cereza", "date"] print(sorted(palabras, key=len)) # Ordena por longitud de las palabras # Ordenar una lista de diccionarios por un valor específico estudiantes = [ {"nombre": "Juan", "edad": 22}, {"nombre": "Ana", "edad": 21}, {"nombre": "Luis", "edad": 24} ] print(sorted(estudiantes, key=lambda x: x["edad"])) |
Ordenación de las claves de un diccionario
1 2 3 4 |
# Ordenar las claves de un diccionario notas = {"Juan": 88, "Ana": 92, "Luis": 95, "Maria": 85} claves_ordenadas = sorted(notas.keys()) print(claves_ordenadas) |
Romper empates
1 2 3 4 |
# Ordenar una lista de tuplas, rompiendo empates # Ordenar por el primer elemento, luego por el segundo tuplas = [(1, 'b'), (1, 'a'), (2, 'c'), (2, 'b')] print(sorted(tuplas, key=lambda x: (x[0], x[1]))) |