Python - Trie les listes
Bonjour à tous les programmeurs en herbe !aujourd'hui, nous allons plonger dans le merveilleux monde du tri des listes en Python. En tant que votre enseignant de informatique de quartier, je suis excité de vous guider à travers ce voyage. Alors, prenez votre boisson préférée, mettez-vous à l'aise, et partons ensemble dans cette aventure de tri !
Trie les listes en Python
Avant de plonger dans le détail du tri, prenons un moment pour comprendre ce que sont les listes en Python. Imaginez que vous avez un tas de post-it avec différents noms écrits dessus. En Python, une liste est comme une collection de ces post-it, où chaque post-it est un élément de la liste.
Maintenant, le tri est comme organiser ces post-it dans un ordre spécifique. Il peut s'agir de l'ordre alphabétique, numérique ou de tout autre ordre que nous définissons. Python nous donne quelques outils pratique pour effectuer ce tri rapidement et efficacement.
Pourquoi trier ?
Vous vous demandez peut-être, "Pourquoi avons-nous besoin de trier des listes ?" Eh bien, laissez-moi vous raconter une petite histoire. Il était une fois, j'avais un élève qui aimait collectionner des figurines d'actions. Il en avait des centaines mais ne pouvait jamais trouver celle qu'il voulait car elles étaient toutes mélangées. Un jour, il a décidé de les trier alphabétiquement par nom de personnage. Soudain, trouver n'importe quelle figurine est devenu un jeu d'enfant ! C'est le pouvoir du tri - il nous aide à organiser et à trouver des choses plus facilement.
En programmation, les données triées peuvent rendre notre code plus efficace, surtout lorsque nous devons rechercher des éléments spécifiques ou présenter des informations de manière structurée.
Trie les listes en utilisant la méthode sort()
Commençons par la manière la plus simple de trier une liste en Python : la méthode sort()
. Cette méthode est comme une formule magique qui réorganise les éléments de votre liste en ordre croissant.
Voici un exemple simple :
fruits = ["banane", "pomme", "cerise", "date"]
fruits.sort()
print(fruits)
Sortie :
['banane', 'cerise', 'date', 'pomme']
Qu'est-ce qui s'est passé ici ? La méthode sort()
a organisé nos fruits alphabétiquement. C'est comme faire aligner vos amis pour une photo, du plus court au plus grand !
Trie en ordre inverse
Mais que faire si nous voulons trier en ordre décroissant ? Pas de problème ! Nous pouvons ajouter une petite torsion à notre sortilège de tri :
nombres = [5, 2, 8, 1, 9]
nombres.sort(reverse=True)
print(nombres)
Sortie :
[9, 8, 5, 2, 1]
En ajoutant reverse=True
, nous avons dit à Python de trier nos nombres du plus grand au plus petit. C'est comme compter à rebours pour un lancement de fusée !
Trie les listes en utilisant la fonction sorted()
Maintenant, introduisons un autre outil puissant : la fonction sorted()
. Alors que sort()
modifie la liste originale, sorted()
crée une nouvelle liste triée, en laissant l'original intouché. C'est comme avoir une photocopieuse qui non seulement copie vos documents, mais les arrange également en ordre !
Voici comment cela fonctionne :
couleurs = ["rouge", "bleu", "vert", "jaune"]
couleurs_triees = sorted(couleurs)
print("Liste originale :", couleurs)
print("Liste triée :", couleurs_triees)
Sortie :
Liste originale : ['rouge', 'bleu', 'vert', 'jaune']
Liste triée : ['bleu', 'jaune', 'rouge', 'vert']
Voyez comment notre liste originale couleurs
reste inchangée ? C'est la beauté de sorted()
- il est non destructif.
Trie les éléments de la liste avec une fonction de rappel
Maintenant, augmentons notre niveau de jeu de tri avec des fonctions de rappel. Ce sont comme donner des instructions spéciales à notre sortilège de tri.
Imaginez que vous avez une liste de vos livres préférés, mais que vous souhaitez les trier par la longueur de leurs titres. Voici comment nous pouvons le faire :
livres = ["Harry Potter", "Le Hobbit", " Orgueil et Préjugés", "Tuer un oiseau moqueur"]
def longueur_titre(livre):
return len(livre)
livres_tries = sorted(livres, key=longueur_titre)
print(livres_tries)
Sortie :
['Le Hobbit', 'Harry Potter', 'Orgueil et Préjugés', 'Tuer un oiseau moqueur']
Qu'est-ce qui se passe ici ? Nous avons créé une fonction longueur_titre
qui renvoie la longueur du titre d'un livre. Ensuite, nous avons dit à sorted()
d'utiliser cette fonction comme clé de tri. C'est comme dire à vos amis de s'aligner en fonction de la longueur de leurs noms !
Trie les dictionnaires
Prenons une autre notation. Et si nous avions une liste de dictionnaires ? Pas de souci, Python nous couvre :
etudiants = [
{"nom": "Alice", "note": 85},
{"nom": "Bob", "note": 92},
{"nom": "Charlie", "note": 78}
]
etudiants_tries = sorted(etudiants, key=lambda x: x["note"], reverse=True)
print(etudiants_tries)
Sortie :
[{'nom': 'Bob', 'note': 92}, {'nom': 'Alice', 'note': 85}, {'nom': 'Charlie', 'note': 78}]
Ici, nous utilisons une fonction lambda (une mini-fonction) pour dire à Python de trier en fonction de la clé 'note' de chaque dictionnaire. C'est comme organiser vos bulletins de notes en fonction des scores !
Résumé des méthodes de tri
Faisons un bilan avec un tableau pratique résumant les méthodes de tri que nous avons apprises :
Méthode | Description | Modifie la liste originale ? | Peut trier en inversé ? | Peut utiliser une clé personnalisée ? |
---|---|---|---|---|
sort() |
Méthode de liste | Oui | Oui | Oui |
sorted() |
Fonction intégrée | Non (crée une nouvelle liste) | Oui | Oui |
N'oubliez pas, le tri est comme avoir un superpouvoir en programmation. Il vous aide à organiser des données, rendant vos programmes plus efficaces et plus faciles à utiliser. Pratiquez ces techniques, et bientôt vous serez en train de trier des listes comme un pro !
À mesure que nous concluons notre aventure de tri, j'espère que vous avez trouvé ce voyage à la fois informatif et agréable. N'oubliez pas, en programmation, comme dans la vie, parfois nous devons trier les choses pour voir clairement le grand tableau. Continuez à coder, à apprendre et, surtout, à vous amuser avec Python !
Credits: Image by storyset