Comment supprimer les doublons d'une liste dans Python
⚡ Résumé intelligent
Suppression des doublons d'un Python La création de listes peut se faire avec plusieurs approches intégrées, notamment set(), dict.fromkeys(), les boucles, les compréhensions de listes et les méthodes de bibliothèque de NumPy et Pandas, chacune équilibrant la préservation de l'ordre et la vitesse.
Python supprimer les doublons d'une liste
Une liste est un conteneur qui contient différents Python des objets, qui peuvent être des entiers, des mots, des valeurs, etc. C'est l'équivalent d'un tableau dans d'autres langages de programmation.
Nous allons donc examiner ici différentes manières de supprimer les doublons d'une liste donnée. Python.
Méthode 1) Supprimer les doublons de la liste à l'aide de Set
Pour supprimer les doublons d'une liste, vous pouvez utiliser la fonction intégrée `set()`. La particularité de la méthode `set()` est qu'elle renvoie des éléments distincts.
Nous avons la liste : [1,1,2,3,2,2,4,5,6,2,1]. Cette liste contient de nombreux doublons que nous devons supprimer afin de ne conserver que les éléments distincts. La liste est passée à la fonction intégrée set(). Later La liste finale est affichée à l'aide de la fonction intégrée list().
Le résultat obtenu est constitué d'éléments distincts, tous les éléments dupliqués ayant été éliminés.
Exemple
my_list = [1,1,2,3,2,2,4,5,6,2,1]
my_final_list = set(my_list)
print(list(my_final_list))
Sortie :
[1, 2, 3, 4, 5, 6]
Méthode 2) Utilisation de la liste temporaire
Pour supprimer les doublons d'une liste, vous pouvez utiliser une liste temporaire vide. Pour cela, vous devrez d'abord parcourir la liste contenant les doublons et ajouter les éléments uniques à la liste temporaire. Later la liste temporaire est affectée à la liste principale.
Exemple
Voici un exemple fonctionnel utilisant une liste temporaire.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2] print("List Before ", my_list) temp_list = [] for i in my_list: if i not in temp_list: temp_list.append(i) my_list = temp_list print("List After removing duplicates ", my_list)
Sortie :
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2] List After removing duplicates [1, 2, 3, 4, 5, 6]
Méthode 3) Utiliser Dict
On peut supprimer les doublons d'une liste en important la classe OrderedDict depuis le module collections. Cette classe est disponible à partir de Python 2.7. OrderedDict renvoie les éléments distincts dans l'ordre d'apparition de la clé.
Utilisons une liste et la méthode fromkeys() disponible dans OrderedDict pour obtenir les éléments uniques de la liste.
Pour utiliser la méthode OrderedDict.fromkeys(), vous devez importer OrderedDict depuis collections, comme indiqué ci-dessous :
from collections import OrderedDict
Voici un exemple de suppression des doublons à l'aide de la méthode OrderedDict.fromkeys().
Exemple
from collections import OrderedDict my_list = ['a','x','a','y','a','b','b','c'] my_final_list = OrderedDict.fromkeys(my_list) print(list(my_final_list))
Sortie :
['a', 'x', 'y', 'b', 'c']
Dès Python À partir de la version 3.5, on peut utiliser la méthode `dict.fromkeys()` pour obtenir les éléments distincts d'une liste. Cette méthode renvoie des clés uniques et permet d'éliminer les doublons.
Voici un exemple illustrant le fonctionnement de dict.fromkeys() sur une liste pour obtenir les éléments uniques :
Exemple
my_list = ['a','x','a','y','a','b','b','c'] my_final_list = dict.fromkeys(my_list) print(list(my_final_list))
Sortie :
['a', 'x', 'y', 'b', 'c']
Méthode 4) Utilisation de la boucle for
L'utilisation de boucle for, nous allons parcourir la liste des éléments pour supprimer les doublons.
Commencez par initialiser le tableau à une liste vide : `myFinallist = []`. Dans la boucle `for`, vérifiez si les éléments de la liste existent déjà dans le tableau `myFinallist`. Si ce n'est pas le cas, ajoutez-les au tableau `myFinallist` à l'aide de la méthode `append()`.
Ainsi, lorsqu'un élément en double est rencontré, il sera déjà présent dans le tableau myFinallist et ne sera pas inséré. Vérifions maintenant cela dans l'exemple ci-dessous :
Exemple
my_list = [1,2,2,3,1,4,5,1,2,6] myFinallist = [] for i in my_list: if i not in myFinallist: myFinallist.append(i) print(list(myFinallist))
Sortie :
[1, 2, 3, 4, 5, 6]
Méthode 5) Utiliser la compréhension de liste
Les compréhensions de listes sont Python fonctions utilisées pour créer de nouvelles séquences (telles que des listes, des dictionnaires, etc.) à l'aide de séquences déjà créées. Cela vous aide à réduire les boucles plus longues et à rendre votre code plus facile à lire et à maintenir.
Utilisons la compréhension de liste pour supprimer les doublons de la liste donnée.
Exemple
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [] [my_finallist.append(n) for n in my_list if n not in my_finallist] print(my_finallist)
Sortie :
[1, 2, 3, 4, 5, 6]
Méthode 6) Utilisation de la méthode unique() de NumPy
La méthode unique() du module NumPy peut nous aider à supprimer les doublons de la liste donnée.
Pour utiliser NumPy, commencez par importer le module numpy :
Étape 1) Importer le module NumPy
import numpy as np
Étape 2) Utilisez votre liste contenant les doublons dans la méthode `unique()`. Le résultat est reconverti en liste à l'aide de la méthode `tolist()`.
myFinalList = np.unique(my_list).tolist()
Étape 3) Enfin, imprimez la liste :
print(myFinalList)
Le code final avec sortie est le suivant :
import numpy as np my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = np.unique(my_list).tolist() print(myFinalList)
Sortie :
[1, 2, 3, 4, 5, 6]
Méthode 7) Utilisation des méthodes Pandas
Le module Pandas a une méthode unique() qui nous donnera les éléments uniques de la liste donnée.
Pour utiliser le module Pandas :
Étape 1) Module d'importation de pandas
import pandas as pd
Étape 2) Utilisez votre liste contenant des doublons dans la méthode unique() :
myFinalList = pd.unique(my_list).tolist()
Étape 3) Imprimer la liste :
print(myFinalList)
Le code final avec sortie est le suivant :
import pandas as pd my_list = [1,2,2,3,1,4,5,1,2,6] myFinalList = pd.unique(my_list).tolist() print(myFinalList)
Sortie :
[1, 2, 3, 4, 5, 6]
Méthode 8) Utilisation d'enumerate() et de la compréhension de liste
Nous utilisons ici la combinaison de la compréhension de liste et de la fonction `enumerate()` pour supprimer les doublons. `enumerate()` renvoie un objet contenant un compteur pour chaque élément de la liste. Par exemple : `(0,1), (1,2), etc.`. La première valeur est l'index et la seconde, l'élément de la liste.
Chaque élément est vérifié pour voir s'il existe dans la liste, et si c'est le cas, il est supprimé de la liste.
Exemple
my_list = [1,2,2,3,1,4,5,1,2,6] my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]] print(list(my_finallist))
Sortie :
[1, 2, 3, 4, 5, 6]

