Maison >développement back-end >Tutoriel Python >Comment puis-je supprimer efficacement les éléments en double d'une liste Python ?

Comment puis-je supprimer efficacement les éléments en double d'une liste Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-03 16:24:11474parcourir

How Can I Efficiently Remove Duplicate Elements from a Python List?

Suppression des doublons d'une liste Python

Énoncé du problème

Étant donné une liste de valeurs, extrayez les éléments uniques de la liste.

Solution 1 : parcourir la liste

Une approche consiste à parcourir chaque élément de la liste et ajoutez-le à une nouvelle liste s'il n'est pas déjà présent. Ceci est démontré dans le code suivant :

output = []
for x in trends:
    if x not in output:
        output.append(x)

Solution 2 : Convertir en un ensemble

Une approche plus pythonique consiste à utiliser un ensemble pour supprimer les doublons. Les ensembles sont des collections non ordonnées d'éléments uniques. Vous pouvez convertir une liste en ensemble, puis la reconvertir en liste pour conserver l'ordre.

mylist = ['nowplaying', 'PBS', 'PBS', 'nowplaying', 'job', 'debate', 'thenandnow']
myset = set(mylist)
mynewlist = list(myset)

Solution 3 : Utiliser les ensembles initialement

Vous pouvez également utiliser un ensemble du début, qui est intrinsèquement unique. Cette approche est plus rapide que de créer une liste et de la convertir en un ensemble.

output = set()
for x in trends:
    output.add(x)

Considérations

  • Les ensembles ne conservent pas l'ordre d'origine des éléments. Si conserver l'ordre est nécessaire, envisagez une implémentation d'ensemble ordonné.
  • Si la liste est petite, la parcourir en boucle est une solution acceptable. Pour les listes plus volumineuses, l'utilisation d'un ensemble est plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn