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รฉ du set() La mรฉthode est quโ€™elle renvoie des รฉlรฉments distincts.
  • Vous pouvez supprimer les doublons de la liste donnรฉe en important OrderedDictfrom collections. Il est disponible ร  partir de python2.7. OrderedDictdict se 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.

Rรฉsumez cet article avec :