Comment supprimer les doublons d'une liste dans Python
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 passer ici en revue diffรฉrentes maniรจres de supprimer les doublons d'une liste donnรฉe dans 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.
On a une liste : [1,1,2,3,2,2,4,5,6,2,1]. La liste comporte de nombreux doublons que nous devons supprimer et rรฉcupรฉrer uniquement les รฉlรฉments distincts. La liste est remise au set() fonction intรฉgrรฉe. Later la liste finale est affichรฉe ร l'aide du list() fonction intรฉgrรฉe, comme le montre lโexemple ci-dessous.
Le rรฉsultat que nous obtenons est constituรฉ dโรฉlรฉments distincts oรน tous les รฉlรฉments en double sont รฉ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'un รฉlรฉment donnรฉ list, vous pouvez utiliser une liste temporaire vide. Pour cela, vous devrez dโabord parcourir la liste contenant des 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
Nous pouvons supprimer les doublons de la liste donnรฉe en important OrderedDict issus des collections. Il est disponible ร partir de python2.7. OrderedDict se charge de vous restituer les รฉlรฉments distincts dans un ordre dans lequel la clรฉ est prรฉsente.
Utilisons une liste et utilisons fromkeys() mรฉthode disponible dans OrderedDict pour obtenir les รฉlรฉments uniques de la liste.
Pour utiliser OrderedDict.fromkey() mรฉthode, vous devez importer OrderedDict ร partir de collections, comme indiquรฉ ci-dessous :
from collections import OrderedDict
Voici un exemple pour supprimer les doublons en utilisant OrderedDict.fromkeys() mรฉthode.
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']
Du Python 3.5+, nous pouvons utiliser le standard dict.fromkeys() pour obtenir les รฉlรฉments distincts de la liste. Le dict.fromkeys() Les mรฉthodes renvoient des clรฉs uniques et aident ร รฉliminer les valeurs en double.
Un exemple qui montre le fonctionnement de dict.fromkeys() sur une liste pour donner les รฉlรฉments uniques est la suivante :
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.
Initialisez d'abord le tableau pour qu'il soit vide, c'est-ร -dire myFinallist = [].Dans la boucle for, ajoutez une vรฉrification 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 commande append() mรฉthode.
Ainsi, chaque fois que l'รฉ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 la mรชme chose 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 Numpy unique().
Procรฉdรฉ unique() du module Numpy peut nous aider ร supprimer les doublons de la liste donnรฉe.
Pour travailler avec le premier module numpy d'importation de Numpy, vous devez suivre ces รฉtapes :
รtape 1) Importer le module Numpy
import numpy as np
รtape 2) Utilisez votre liste avec des doublons dans une mรฉthode unique, comme indiquรฉ ci-dessous. La sortie est reconvertie au format de liste en utilisant tolist() mรฉthode.
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 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 un unique() mรฉthode 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) Module d'importation de pandas
import pandas as pd
รtape 2) Utilisez votre liste avec des doublons ร l'intรฉrieur unique() mรฉthode 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 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
Ici, la combinaison de la comprรฉhension de 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 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]
Rรฉsumรฉ
- Pour supprimer les doublons d'une liste, vous pouvez utiliser la fonction intรฉgrรฉe
set(). La spรฉcialitรฉ duset()La mรฉthode est quโelle renvoie des รฉlรฉments distincts. - Vous pouvez supprimer les doublons de la liste donnรฉe en important
OrderedDictfromcollections. Il est disponible ร partir de python2.7.OrderedDictdictse charge de vous restituer les รฉlรฉments distincts dans l'ordre dans lequel la clรฉ est prรฉsente. - Vous pouvez utiliser une boucle for pour parcourir la liste des รฉlรฉments pour supprimer les doublons.
- Procรฉdรฉ
unique()du module Numpy peut nous aider ร supprimer les doublons de la liste donnรฉe. - Le module Pandas a un
unique()mรฉthode qui nous donnera les รฉlรฉments uniques de la liste donnรฉe. - La combinaison de la comprรฉhension de 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.
