Maison >développement back-end >Tutoriel Python >Comment puis-je supprimer les éléments de liste en double tout en préservant l'ordre en Python ?

Comment puis-je supprimer les éléments de liste en double tout en préservant l'ordre en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 18:41:15625parcourir

How Can I Remove Duplicate List Elements While Preserving Order in Python?

Supprimer les doublons dans une liste tout en maintenant l'ordre

Supprimer les éléments en double d'une liste tout en préservant l'ordre d'origine peut être difficile à l'aide d'un ensemble, car il ne maintient pas la séquence des éléments. Cet article explore plusieurs idiomes intégrés et pythoniques qui résolvent ce problème.

Option plus rapide (fonction f7)

La fonction f7 est l'option la plus rapide et elle itère sur la liste tout en vérifiant chaque élément par rapport à un ensemble pour éviter la duplication. Cependant, il utilise une astuce pour optimiser les performances : il assigne vu.add à une variable locale vu_add pour éviter de résoudre à plusieurs reprises l'appel de fonction vu.add à chaque itération. Cela améliore l'efficacité si la fonction est appelée fréquemment sur le même ensemble de données.

Ensemble ordonné

Une solution alternative consiste à utiliser un ensemble ordonné, qui conserve à la fois l'unicité et l'insertion. commande. Cette approche offre une méthode plus efficace pour gérer de grands ensembles de données.

Notes supplémentaires

  • L'opérateur ou dans la fonction f7 est utilisé pour tenter une mise à jour d'un ensemble.
  • La fonction saw.add() renvoie toujours None, rendant l'expression ou redondante mais logiquement correct.

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