Menu
Coddy logo textTech

Défi récapitulatif - Tri Lambda

Fait partie de la section Logic & Flow du Journey Python de Coddy — leçon 59 sur 78.

Les fonctions lambda sont incroyablement utiles avec la fonction sorted() pour personnaliser le tri dans différents scénarios. Voici quelques exemples :

Tri de chaînes par longueur :

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Sortie : ['Bob', 'Alice', 'Diana', 'Charlie']

Trier des dictionnaires par valeurs :

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Sortie : [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

Tri des nombres par valeur absolue :

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Résultat : [-10, 15, -20, 25]

Tri de tuples selon plusieurs critères :

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Sortie : [('Alice', 25), ('Charlie', 25), ('Bob', 30)]
challenge icon

Défi

Facile

Créez une fonction nommée sort_tuples qui prend une liste de tuples data en argument. Chaque tuple dans data contient deux éléments : une chaîne de caractères et un nombre. La fonction doit utiliser la fonction sorted() ainsi qu'une fonction lambda pour trier la liste de tuples en fonction du deuxième élément (le nombre) par ordre croissant. La fonction doit retourner la liste de tuples triée.

Aide-mémoire

Tri de chaînes par longueur :

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Sortie : ['Bob', 'Alice', 'Diana', 'Charlie']

Tri de dictionnaires par valeurs :

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Sortie : [('Charlie', 78), ('Alice', 85), ('Bob', 90)]

Tri de nombres par valeur absolue :

numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Sortie : [-10, 15, -20, 25]

Tri de tuples par critères multiples :

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Sortie : [('Alice', 25), ('Charlie', 25), ('Bob', 30)]

Essayez vous-même

def sort_tuples(data):
    # Écrire le code ici
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logic & Flow