Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Python supprime les doublons d'une liste


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 de supprimer les doublons d'une liste donnée.

Dans ce didacticiel, vous apprendrez :

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 constituée d'é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))

Sortie :

[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 d'abord 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_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]

Supprimer les doublons de la liste à l'aide de Dict

Nous pouvons supprimer les doublons de la liste donnée en important OrderedDict à partir des 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 des 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 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']

À partir de Python 3.5+, nous pouvons utiliser le dict.fromkeys() normal pour obtenir les éléments distincts de la liste. Les méthodes dict.fromkeys() 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 le suivant :

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']

Supprimer les doublons d'une liste à l'aide de la boucle for

En utilisant la boucle for, nous parcourrons la liste des éléments pour supprimer les doublons.

Initialisez d'abord le tableau à 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. 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 :

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]

Supprimer les doublons de la liste à l'aide de la compréhension de liste

Les compréhensions de liste 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 à faciliter la lecture et la maintenance de votre code.

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)

Sortie :

[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 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 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 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]

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) Importer 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 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]

Supprimez les doublons en utilisant enumerate() et list comprehension

Ici, 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 la 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.

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é


Python

  1. Types de données Python
  2. Opérateurs Python
  3. Instruction de passe Python
  4. Arguments de la fonction Python
  5. Python range() Fonction :Float, List, For loop Exemples
  6. Python List Comprehension, Apend, Sort, Length [EXEMPLES]
  7. Python Average :Comment trouver la MOYENNE d'une liste en Python
  8. Python List count() avec des EXEMPLES
  9. Supprimer un élément d'une LISTE Python [clear, pop, remove, del]