Ordenar como en el trabajo
Python · Unidad 23: Buscar y ordenar
- Plan completo
- Python
- 8 ejercicios
En el trabajo nadie escribe su propio ordenamiento: sorted ya viene hecho y probado. Lo que sí escribes es el criterio.
Para ordenar por dos cosas, la key regresa una tupla. Primero se compara lo primero y, solo si hay empate, lo segundo.
gente = [
("Ana", 3),
("Luis", 1),
("Sofía", 3),
]
def criterio(p):
return (p[1], p[0])
print(sorted(gente, key=criterio))Imprime
[('Luis', 1), ('Ana', 3), ('Sofía', 3)]El resto de la explicación está en la lección, que es del plan completo.
Ejercicios de esta lección
Se hacen en la app, que los corrige al momento y explica por qué.
1. Predice la salida
¿Qué imprime este código?
2. Completa el código
Completa para que vayan de más puntos a menos, y los empatados de la A a la Z.
3. Opción múltiple
Quieres más puntos primero y, en empate, el nombre de la A a la Z. ¿Por qué no basta con
reverse=True?4. Encuentra el bug
Debería imprimir las notas ordenadas, pero imprime
None. ¿Qué línea tiene el error?5. Predice la salida
¿Qué imprime este código?
6. Ordena las líneas
Arma la función que regresa los nombres de más puntos a menos, y en empate de la A a la Z.
7. Predice la salida
¿Qué imprime este código?
8. Opción múltiple
Ya sabes escribir la selección y el merge sort. ¿Cuándo conviene usarlos en un programa de verdad?
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.