Adloun

informatique (tronc commun des prépas scientifiques) · Chapitre 9 · Exercice de TD

Trier des fiches — la clé de tri

Les tris · niveau 2

Énoncé

Réaliser un tri de fiches (nom, note) par notes décroissantes, et par ordre alphabétique en cas d'égalité, de deux manières : avec une clé composite, et par tris stables successifs.

Corrigé

fiches = [("Bob", 15), ("Alice", 12), ("Chloe", 15), ("Dan", 12)]

# Approche 1 : Clé composite (note inversée pour le sens décroissant)
r1 = sorted(fiches, key=lambda f: (-f[1], f[0]))

# Approche 2 : Double tri stable successif (critère secondaire d'abord)
r2 = sorted(fiches)                                    # Tri alphabétique
r2 = sorted(r2, key=lambda f: f[1], reverse=True)      # Tri par note

assert r1 == r2 == [("Bob", 15), ("Chloe", 15), ("Alice", 12), ("Dan", 12)]

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre