Une liste est un conteneur qui contient différents objets Python, 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 passer en revue différentes manières dont nous pouvons supprimer les doublons d'une liste donnée.
Dans ce tutoriel, vous apprendrez:
- Supprimer les doublons de la liste à l'aide de Set
- Supprimez les doublons d'une liste à l'aide de la liste temporaire.
- Supprimer les doublons de la liste à l'aide de Dict
- Supprimer les doublons d'une liste à l'aide de la boucle for
- Supprimer les doublons de la liste à l'aide de la compréhension de liste
- Supprimez les doublons de la liste à l'aide de la méthode Numpy unique ().
- Supprimer les doublons de la liste à l'aide des méthodes Pandas
- Supprimer les doublons en utilisant enumerate () et la compréhension de liste
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 spécialité de la méthode set () est qu'elle renvoie des éléments distincts.Nous avons une liste: [1,1,2,3,2,2,4,5,6,2,1]. La liste contient de nombreux doublons que nous devons supprimer et récupérer uniquement les éléments distincts. La liste est donnée à la fonction intégrée set (). Plus tard, la liste finale est affichée à l'aide de la fonction intégrée list (), comme illustré dans l'exemple ci-dessous.
La sortie que nous obtenons est des éléments distincts où tous les éléments en double sont éliminés.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Production:
[1, 2, 3, 4, 5, 6]
Supprimer les doublons d'une liste à l'aide de la liste temporaire
Pour supprimer les doublons d'une liste donnée, vous pouvez utiliser une liste temporaire vide. Pour cela, vous devrez parcourir la liste des doublons et ajouter les éléments uniques à la liste temporaire. Plus tard, la liste temporaire est affectée à la liste principale.
Voici un exemple de travail 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_listprint("List After removing duplicates ", my_list)
Production:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Supprimer les doublons de la liste à l'aide de Dict
Nous pouvons supprimer les doublons de la liste donnée en important OrderedDict à partir de collections. Il est disponible à partir de python2.7. OrderedDict se charge de vous renvoyer les éléments distincts dans un ordre dans lequel la clé est présente.
Utilisons une liste et utilisons la méthode fromkeys () disponible dans OrderedDict pour obtenir les éléments uniques de la liste.
Pour utiliser la méthode OrderedDict.fromkey (), vous devez importer OrderedDict à partir de collections, comme indiqué ci-dessous:
from collections import OrderedDict
Voici un exemple pour supprimer les doublons à l'aide de la méthode OrderedDict.fromkeys ().
from collections import OrderedDictmy_list = ['a','x','a','y','a','b','b','c']my_final_list = OrderedDict.fromkeys(my_list)print(list(my_final_list))
Production:
['a', 'x', 'y', 'b', 'c']
À partir de Python 3.5+, nous pouvons utiliser le dict.fromkeys () régulier pour obtenir les éléments distincts de la liste. Les méthodes dict.fromkeys () renvoient des clés uniques et aident à se débarrasser des valeurs en double.
Un exemple qui montre le fonctionnement de dict.fromkeys () sur une liste pour donner les éléments uniques est le suivant:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Production:
['a', 'x', 'y', 'b', 'c']
Supprimer les doublons d'une liste à l'aide de la boucle for
En utilisant for-loop, nous parcourrons la liste des éléments pour supprimer les doublons.
Initialisez d'abord le tableau pour vider, c'est-à-dire myFinallist = []. À l'intérieur de la boucle for, ajoutez un contrôle si les éléments de la liste existent dans le tableau myFinallist.Si les éléments n'existent pas, ajoutez l'élément au tableau myFinallist à l'aide de la fonction append () méthode.
Ainsi, chaque fois que l'élément dupliqué est rencontré, il sera déjà présent dans le tableau myFinallist et ne sera pas inséré. Vérifions maintenant la même chose dans l'exemple ci-dessous:
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))
Production:
[1, 2, 3, 4, 5, 6]
Supprimer les doublons de la liste à l'aide de la compréhension de liste
Les compréhensions de listes sont des fonctions Python 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.
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)
Production:
[1, 2, 3, 4, 5, 6]
Supprimez les doublons de la liste à l'aide de la méthode Numpy unique ().
La méthode unique () du module Numpy peut nous aider à supprimer les doublons de la liste donnée.
Pour travailler avec le premier module numpy d'importation Numpy, vous devez suivre ces étapes:
Étape 1 ) Importez le module Numpy
import numpy as np
Étape 2) Utilisez votre liste avec des doublons dans la méthode unique comme indiqué ci-dessous. La sortie est reconvertie dans un format de liste à l'aide de la méthode tolist ().
myFinalList = np.unique(my_list).tolist()
Étape 3) Enfin, imprimez la liste comme indiqué ci-dessous:
print(myFinalList)
Le code final avec sortie est le suivant:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Production:
[1, 2, 3, 4, 5, 6]
Supprimer les doublons de la liste à l'aide 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 travailler avec le module Pandas, vous devez suivre ces étapes:
Étape 1) Importez le module Pandas
import pandas as pd
Étape 2) Utilisez votre liste avec des doublons dans la méthode unique () comme indiqué ci-dessous:
myFinalList = pd.unique(my_list).tolist()
Étape 3) Imprimez la liste comme indiqué ci-dessous:
print(myFinalList)
Le code final avec sortie est le suivant:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Production:
[1, 2, 3, 4, 5, 6]
Supprimer les doublons en utilisant enumerate () et la compréhension de liste
Voici la combinaison de la compréhension de la liste et de l'énumération pour supprimer les éléments en double. Enumerate renvoie un objet avec un compteur pour chaque élément de la liste. Par exemple (0,1), (1,2) etc. Ici, la première valeur est l'index, et la deuxième valeur est l'élément de liste. W
Chaque élément est vérifié s'il existe dans la liste, et si tel est le cas, il est supprimé de la liste.
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))
Production:
[1, 2, 3, 4, 5, 6]
Résumé
- Pour supprimer les doublons d'une liste, vous pouvez utiliser la fonction intégrée set (). La spécialité de la méthode set () est qu'elle renvoie des éléments distincts.
- Vous pouvez supprimer les doublons de la liste donnée en important OrderedDict à partir de collections. Il est disponible à partir de python2.7. OrderedDictdict se charge de vous renvoyer les éléments distincts dans un ordre dans lequel la clé est présente.
- Vous pouvez utiliser une boucle for que nous allons parcourir la liste des éléments pour supprimer les doublons.
- La méthode unique () du module Numpy peut nous aider à supprimer les doublons de la liste donnée.
- Le module Pandas a une méthode unique () qui nous donnera les éléments uniques de la liste donnée.
- La combinaison de la compréhension de la liste et de l'énumération est utilisée pour supprimer les éléments en double de la liste. Enumerate renvoie un objet avec un compteur pour chaque élément de la liste.