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

Comment puis-je supprimer efficacement les éléments en double d'une liste Python tout en conservant ou en ignorant l'ordre ?

Patricia Arquette
Libérer: 2024-12-30 17:37:13
original
802 Les gens l'ont consulté

How Can I Efficiently Remove Duplicate Elements from a Python List While Maintaining or Ignoring Order?

Suppression des doublons dans les listes

L'élimination des éléments en double d'une liste est une tâche fréquente en programmation. Ici, nous discutons de diverses méthodes pour détecter les doublons et générer une liste unique.

Approche 1 : Utiliser des ensembles

Les ensembles sont des collections non ordonnées d'objets distincts. Pour créer un ensemble à partir d’une liste, transmettez-le simplement à la fonction set(). Pour inverser l'opération, utilisez la fonction list().

t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8]
unique_list = list(set(t))  # [1, 2, 3, 5, 6, 7, 8]
Copier après la connexion

Approche 2 : Préserver l'ordre

Si le maintien de l'ordre d'origine est crucial, vous pouvez utiliser les méthodes suivantes :

a. OrderedDict

OrderedDict garde une trace de l'ordre d'insertion des clés. Créer une liste à partir de ses clés préserve l'ordre.

from collections import OrderedDict
unique_list = list(OrderedDict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]
Copier après la connexion

b. Dictionnaire (Python 3.7)

À partir de Python 3.7, les dictionnaires conservent l'ordre d'insertion par défaut.

unique_list = list(dict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]
Copier après la connexion

Remarque sur la hachage

Il est important de noter que le Les techniques susmentionnées nécessitent que vos éléments soient hachables, ce qui signifie qu'ils peuvent être utilisés comme clés de dictionnaire. Les objets non hachables (par exemple, les listes) nécessitent une approche plus lente impliquant des boucles imbriquées.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal