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

Comment Supprimer les Éléments Dupliqués d'une Liste Python

Une liste est une structure de données fondamentale en Python qui contient une collection ordonnée d'éléments tels que des entiers, des chaînes ou des objets personnalisés. C'est l'équivalent Python d'un tableau dans d'autres langages.

Voici des techniques éprouvées pour supprimer les éléments dupliqués d'une liste tout en préservant l'ordre et la lisibilité.

Supprimer les doublons avec un set

La fonction intégrée set() de Python élimine les doublons en ne retournant que les éléments uniques. Convertissez la liste en set, puis de nouveau en liste pour préserver le format de collection.

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 avec une liste temporaire

Cette approche crée une liste vide, itère sur la liste originale, et ajoute seulement les éléments qui n'ont pas encore été vus.

my_list = [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
print("Liste avant ", my_list)
temp_list = []
for i in my_list:
    if i not in temp_list:
        temp_list.append(i)
my_list = temp_list
print("Liste après suppression doublons ", my_list)

Sortie :

Liste avant [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]
Liste après suppression doublons [1, 2, 3, 4, 5, 6]

Supprimer les doublons avec OrderedDict (ou dict.fromkeys)

Pour Python 3.5+, un dict simple préserve l'ordre d'insertion, donc dict.fromkeys() peut être utilisé pour garder les valeurs uniques dans l'ordre.

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 avec une boucle for simple

Parcourez la liste, en ajoutant les éléments à une nouvelle liste seulement s'ils n'ont pas encore apparu.

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(myFinallist)

Sortie :

[1, 2, 3, 4, 5, 6]

Supprimer les doublons via compréhension de liste

Les compréhensions de liste offrent une syntaxe concise tout en maintenant la lisibilité.

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]

Supprimer les doublons avec NumPy unique()

La fonction unique() de NumPy retourne les éléments uniques triés d'un tableau.

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 avec Pandas unique()

De même, Pandas offre une méthode unique() légère qui fonctionne sur des objets de type liste.

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]

Supprimer les doublons avec enumerate() et compréhension de liste

Combiner enumerate() avec une compréhension de liste permet de supprimer les doublons tout en préservant la première occurrence de chaque élément.

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(my_finallist)

Sortie :

[1, 2, 3, 4, 5, 6]

Résumé

Python

  1. Maîtriser les types de données Python : Guide pratique
  2. Maîtriser les opérateurs Python : Guide complet
  3. Maîtriser l'instruction pass en Python : Guide pratique
  4. Maîtriser les arguments de fonctions Python : Positionnels, nommés et paramètres par défaut
  5. Maîtriser la fonction Python range() : des bases aux cas avancés
  6. Maîtriser les Listes Python : Append, Sort, Longueur & Compréhensions de Liste (Guide Pratique)
  7. Calculer des Moyennes en Python : Guide Pratique
  8. Python list.count() : Guide Expert avec Exemples Pratiques
  9. Comment Supprimer des Éléments d'une Liste Python : remove(), pop(), clear() et del