Dans cet exercice, l'objectif est de trier une liste qui contient des tuples :
liste = [("Harry Potter", 5), ("Wall-E", 3), ("Blade Runner", 4)]
Comme vous pouvez le voir, la liste contient des tuples qui ont comme premier élément le nom d'un film, et comme deuxième élément leur note sur 5.
Le but de l'exercice est de trier ces tuples en fonction de la note qui leur a été attribuée.
La variable liste doit donc être ordonnée comme ceci à la fin de l'exercice (vous ne devez pas créer de nouvelle liste mais modifier la liste existante).
[('Wall-E', 3), ('Blade Runner', 4), ('Harry Potter', 5)]
Pour réussir cet exercice, vous pouvez utiliser une fonctionnalité de Python qui permet de résoudre le script en une seule ligne. Si vous n'avez vraiment aucune idée de comment faire, je vous conseille de faire une petite recherche sur le net.
La fonction sort accepte un paramètre key, qui permet de trier une liste selon une fonction anonyme.
code Code
liste = [("Harry Potter", 5), ("Wall-E", 3), ("Blade Runner", 4)]
liste.sort(key=lambda x: x[1])
comment Explications
Pas besoin d'aller chercher très loin pour résoudre cet exercice.
En effet, la méthode sort a un paramètre key, qui va vous permettre de trier la liste selon des critères spécifiques.
Dans ce cas-ci, nous donnons comme argument au paramètre key une fonction anonyme, qui elle-même nous retourne l'élément 1 de la variable qui est passée à x.
L'élément 1 du tuple correspond à la note du film, la méthode sort va donc trier les éléments de notre liste en fonction de cet élément et donc trier notre liste en fonction de la note accordée à chaque film.
star Points importants
- La méthode
sortpossède un paramètrekey, auquel nous pouvons passer une fonction anonyme pour trier une liste selon des critères spécifiques.
liste = [("Harry Potter", 5), ("Wall-E", 3), ("Blade Runner", 4)]liste = [("Harry Potter", 5), ("Wall-E", 3), ("Blade Runner", 4)]
liste.sort(key=lambda x: x[1])Console
Un instant...
Résultats
Test de l'ordre des éléments dans la variable liste
assert liste == [('Wall-E', 3), ('Blade Runner', 4), ('Harry Potter', 5)], "Les éléments de la liste ne sont pas dans le bon ordre."Bravo, tu as réussi cet exercice de code 🥳
Envoyer ma solution
Vous avez trouvé une solution alternative pour cet exercice ? Proposez votre solution à la communauté 👇
Ma solution :

