Conceptos básicos de ordenación
# 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
# 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
# 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
# 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
# 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
# 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])))