Python Programming

Supprimer efficacement les doublons des listes Python

Spread the love

Les listes Python sont incroyablement polyvalentes, mais la gestion efficace des éléments dupliqués est une tâche de programmation courante. Cet article explore deux méthodes efficaces pour supprimer les doublons d’une liste Python : l’utilisation de la fonction intégrée set() pour la vitesse et l’utilisation de OrderedDict pour maintenir l’ordre d’origine des éléments.

Table des matières

Suppression des doublons avec la méthode set()

La façon la plus rapide de supprimer les doublons est d’utiliser la fonction set(). Les ensembles sont des collections non ordonnées d’éléments uniques. La conversion d’une liste en un ensemble élimine automatiquement les doublons. Cependant, cette méthode modifie l’ordre d’origine.


my_list = [1, 2, 2, 3, 4, 4, 5, 1]

# Convertir la liste en ensemble pour supprimer les doublons
unique_elements = set(my_list)

# Convertir l'ensemble en liste (l'ordre peut changer)
unique_list = list(unique_elements)

print(f"Liste originale : {my_list}")
print(f"Liste sans doublons : {unique_list}")

Sortie :


Liste originale : [1, 2, 2, 3, 4, 4, 5, 1]
Liste sans doublons : [1, 2, 3, 4, 5]

Notez le changement potentiel dans l’ordre des éléments.

Préservation de l’ordre avec OrderedDict

Pour supprimer les doublons tout en conservant l’ordre d’origine, utilisez OrderedDict du module collections. OrderedDict maintient l’ordre d’insertion.


from collections import OrderedDict

my_list = [1, 2, 2, 3, 4, 4, 5, 1]

# Utiliser OrderedDict pour supprimer les doublons tout en préservant l'ordre
unique_list_ordered = list(OrderedDict.fromkeys(my_list))

print(f"Liste originale : {my_list}")
print(f"Liste sans doublons, ordre préservé : {unique_list_ordered}")

Sortie :


Liste originale : [1, 2, 2, 3, 4, 4, 5, 1]
Liste sans doublons, ordre préservé : [1, 2, 3, 4, 5]

L’ordre est identique à la liste d’entrée.

Choisir la meilleure approche

Si l’ordre n’est pas critique, la méthode set() offre une vitesse supérieure. Si la préservation de l’ordre d’origine est primordiale, OrderedDict est le meilleur choix, même si elle peut être légèrement plus lente pour les très grandes listes. Pour la plupart des applications, la différence de performance sera négligeable. Sélectionnez la méthode qui correspond le mieux à vos besoins.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *