Python - Trie les tableaux

Bonjour à tous, aspirants programmeurs Python ! Aujourd'hui, nous allons plonger dans le monde merveilleux du tri des tableaux en Python. Ne vous inquiétez pas si vous êtes nouveau dans la programmation – je vais vous guider à travers chaque étape avec beaucoup d'exemples et d'explications. À la fin de ce tutoriel, vous trierez des tableaux comme un professionnel !

Python - Sort Arrays

Qu'est-ce qu'un tableau en Python ?

Avant de nous lancer dans le tri, parlons rapidement de ce qu'est un tableau en Python. En Python, nous utilisons généralement des listes pour représenter des tableaux. Une liste est une collection d'items qui peuvent être de différents types. Par exemple :

fruits = ["pomme", "banane", "cerise", "datte"]
nombres = [42, 8, 15, 16, 23]

Triez les tableaux à l'aide d'un algorithme de tri

Commençons par un algorithme de tri de base appelé Tri à bulles. Il n'est pas le plus efficace, mais il est facile à comprendre pour les débutants.

Tri à bulles

Voici une implémentation simple du Tri à bulles :

def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr

# Exemple d'utilisation
nombres = [64, 34, 25, 12, 22, 11, 90]
nombres_tries = bubble_sort(nombres)
print("Tableau trié :", nombres_tries)

Analysons cela :

  1. Nous définissons une fonction appelée bubble_sort qui prend un tableau (liste) en entrée.
  2. Nous obtenons la longueur du tableau et la stockons dans n.
  3. Nous utilisons deux boucles imbriquées pour comparer les éléments adjacents.
  4. Si un élément est supérieur à celui qui le suit, nous les échangent.
  5. Nous répétons ce processus jusqu'à ce que le tableau entier soit trié.

Lorsque vous exécutez ce code, vous verrez :

Tableau trié : [11, 12, 22, 25, 34, 64, 90]

Fun fact : Le Tri à bulles est ainsi appelé parce que les plus petits éléments "remontent" en surface de la liste à chaque itération !

Triez les tableaux à l'aide de la méthode sort() des listes

Les listes Python ont une méthode intégrée sort() qui rend le tri beaucoup plus facile. Voyons comment cela fonctionne :

# Tri des nombres
nombres = [64, 34, 25, 12, 22, 11, 90]
nombres.sort()
print("Nombres triés :", nombres)

# Tri des chaînes
fruits = ["banane", "cerise", "pomme", "datte"]
fruits.sort()
print("Fruits triés :", fruits)

Sortie :

Nombres triés : [11, 12, 22, 25, 34, 64, 90]
Fruits triés : ['pomme', 'banane', 'cerise', 'datte']

La méthode sort() modifie la liste originale. C'est comme ranger votre chambre – tout se termine par ordre, mais c'est toujours votre chambre !

Tri en ordre inverse

Vous pouvez également trier en ordre décroissant en ajoutant le paramètre reverse=True :

nombres = [64, 34, 25, 12, 22, 11, 90]
nombres.sort(reverse=True)
print("Nombres triés (décroissant) :", nombres)

Sortie :

Nombres triés (décroissant) : [90, 64, 34, 25, 22, 12, 11]

Triez les tableaux à l'aide de la fonction sorted()

La fonction sorted() est un autre outil puissant en Python pour le tri. Contrairement à sort(), elle ne modifie pas la liste originale mais renvoie une nouvelle liste triée.

# Tri des nombres
nombres = [64, 34, 25, 12, 22, 11, 90]
nombres_tries = sorted(nombres)
print("Nombres originaux :", nombres)
print("Nombres triés :", nombres_tries)

# Tri des chaînes
fruits = ["banane", "cerise", "pomme", "datte"]
fruits_tries = sorted(fruits)
print("Fruits originaux :", fruits)
print("Fruits triés :", fruits_tries)

Sortie :

Nombres originaux : [64, 34, 25, 12, 22, 11, 90]
Nombres triés : [11, 12, 22, 25, 34, 64, 90]
Fruits originaux : ['banane', 'cerise', 'pomme', 'datte']
Fruits triés : ['pomme', 'banane', 'cerise', 'datte']

Pensez à sorted() comme à faire une copie de votre liste et de trier cette copie, en laissant l'original intact. C'est comme prendre une photo de votre chambre désordonnée, puis organiser tout ce qui est dans la photo tout en laissant votre chambre réelle telle qu'elle est !

Tri avec des clés personnalisées

L'une des fonctionnalités les plus cool de sorted() est la capacité d'utiliser des clés de tri personnalisées. Disons que nous voulons trier une liste de mots par leur longueur :

mots = ["python", "est", "incroyable", "et", "amusant"]
mots_tries = sorted(mots, key=len)
print("Triés par longueur :", mots_tries)

Sortie :

Triés par longueur : ['est', 'et', 'amusant', 'python', 'incroyable']

Ici, nous avons utilisé len comme fonction de clé. Python applique cette fonction à chaque élément et trie en fonction du résultat.

Comparaison des méthodes de tri

Résumons les méthodes de tri que nous avons apprises dans un tableau pratique :

Méthode Modifie l'original Retourne une nouvelle liste Peut utiliser une clé personnalisée
Tri à bulles Oui Non Non
list.sort() Oui Non Oui
sorted() Non Oui Oui

Conclusion

Félicitations ! Vous avez juste appris plusieurs manières de trier des tableaux en Python. De l'implémentation de votre propre algorithme de tri à l'utilisation des méthodes intégrées de Python, vous avez maintenant les outils pour garder vos données organisées.

N'oubliez pas, le tri est comme organiser des livres sur un étagère – il y a de nombreuses manières de le faire, et la meilleure méthode dépend de ce que vous essayez d'atteindre. Practicez avec différents types de données et de méthodes de tri pour devenir un maître du tri en Python !

Bon codage, et que vos tableaux soient toujours parfaitement triés ! ??

Credits: Image by storyset