Recherche de doublons dans une liste
Étant donné une liste d'entiers, l'objectif est d'identifier et d'isoler les éléments en double dans la liste. Pour y parvenir, nous pouvons utiliser diverses techniques :
Utilisation de la structure de données d'ensemble
Un ensemble est une collection non ordonnée d'éléments uniques. Pour supprimer les doublons d'une liste, nous pouvons la convertir en un ensemble à l'aide de la fonction set(a). L'ensemble résultant ne contiendra que les éléments distincts de la liste d'origine.
Identification et impression des doublons
Pour identifier et imprimer les doublons, nous pouvons utiliser le module Compteur de la bibliothèque des collections. Il fournit une méthode pratique pour compter les occurrences de chaque élément dans une liste. Grâce à une compréhension, nous pouvons extraire les éléments qui apparaissent plus d'une fois :
from collections import Counter a = [1,2,3,2,1,5,6,5,5,5] print([item for item, count in Counter(a).items() if count > 1]) # Output: [1, 2, 5]
Suppression efficace des doublons
Pour une suppression efficace des doublons, une simple boucle peut être utilisé pour maintenir un ensemble d’éléments vus. Lorsqu'on rencontre un nouvel élément, il est ajouté à l'ensemble, indiquant qu'il a été vu. Si un élément est déjà dans l'ensemble, il est considéré comme un doublon et peut être supprimé.
seen = set() no_dupes = [] for x in a: if x not in seen: no_dupes.append(x) seen.add(x)
Suppression concise des doublons
Une autre approche concise de la suppression des doublons consiste à utiliser une compréhension de liste :
seen = set() no_dupes = [x for x in a if x not in seen and not seen.add(x)]
Gestion des éléments non hachables Éléments
Si les éléments de la liste ne sont pas hachables (comme les listes), les ensembles et les dictionnaires ne peuvent pas être utilisés. Dans de tels cas, une solution temporelle quadratique doit être utilisée, où chaque élément est comparé à tous les autres éléments.
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!