Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Trier une table

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

35 minutes

Qui est en tête ?

Dans un jeu en ligne, le classement montre le meilleur en haut. Pourtant, les scores arrivent dans le désordre, au fur et à mesure des parties.

Quelqu’un doit les trier. C’est le travail du programme.

Dans cette leçon, tu apprends à ranger une table selon une colonne.

Mots-clés

MotCe que ça veut direExemple
TrierRanger des valeurs dans un ordre.Du plus petit au plus grand
CroissantDu plus petit au plus grand.3, 7, 9, 12
DécroissantDu plus grand au plus petit.12, 9, 7, 3
CritèreLa colonne qui décide de l’ordre.Les points
Ex aequoDeux lignes qui ont la même valeur pour le critère.Deux élèves à 9 points
sortedLe mot de Python qui rend une liste triée.sorted([3, 1, 2]) donne [1, 2, 3]
PaireUne petite liste de deux valeurs.[12, "Léa"]

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Trier une liste

sorted(liste) rend une nouvelle liste, du plus petit au plus grand. C’est l’ordre croissant.

Avec reverse=True, elle rend l’ordre décroissant.

La liste de départ ne change pas. Pour les mots, l’ordre est celui du dictionnaire.

À toi : trier des valeurs

Code: python
points = [12, 7, 15, 3, 9]

print(sorted(points))
print(sorted(points, reverse=True))
print(points)   # la liste de départ n’a pas bougé

noms = ["Sofia", "Hugo", "Karim", "Inès"]
print(sorted(noms))

# Trie la liste des prix [4.5, 12, 3.2, 8].

Exemple travaillé : trier [12, 7, 15, 3, 9]

PlaceCroissantDécroissant
1315
2712
399
4127
5153

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Trier une table par une colonne

Une table, ce sont des lignes. Chaque ligne a un nom et des points. On veut trier selon les points.

Astuce : on fabrique une paire pour chaque ligne, avec le critère en premier : [points, nom].

Python compare les paires par leur première valeur. sorted range donc les lignes par points.

À toi : un classement

Code: python
eleves = [
    {"nom": "Léa", "points": 12},
    {"nom": "Karim", "points": 7},
    {"nom": "Sofia", "points": 15},
    {"nom": "Hugo", "points": 3},
    {"nom": "Inès", "points": 9},
]

paires = []
for eleve in eleves:
    paires.append([eleve["points"], eleve["nom"]])

classement = sorted(paires, reverse=True)
for paire in classement:
    print(paire[1], "a", paire[0], "points")

# Trie du plus petit au plus grand. Enlève reverse=True.

Exemple travaillé : du tableau au classement

ÉlèvePaire [points, nom]Place finale
Léa[12, "Léa"]2
Karim[7, "Karim"]4
Sofia[15, "Sofia"]1
Hugo[3, "Hugo"]5
Inès[9, "Inès"]3

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Contrôle rapide

À toi de jouer

Contrôle rapide

4 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.

La leçon continue

11 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.