Ordenar con una clave en Python
Una pasada, una función clave, y un orden estable en el que puedes confiar.
pasos = [("traits", 3, 15), ("basics", 1, 39), ("errors", 3, 15)]
print(sorted(pasos, key=lambda s: s[0]))
print(sorted(pasos, key=lambda s: (-s[1], s[0])))
print(sorted(pasos, key=len, reverse=True)[0])
palabras = ["Bravo", "alfa", "Carlos"]
print(sorted(palabras), sorted(palabras, key=str.lower))
Cómo funciona
keyse llama una vez por elemento, no por comparación.- Una clave de tupla ordena por varios campos a la vez.
- El orden es estable: un orden anterior sobrevive al siguiente.
Palabras clave y builtins usados aquí
lambdalenprintsortedstr
El intento, en números
- Líneas
- 8
- Caracteres a escribir
- 301
- Tokens
- 126
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 80 segundos.
Paso 3 de 3 en Conjuntos y mapeos; paso 58 de 72 en Fundamentos del lenguaje.