Comment trouver des doublons dans une liste en Python
-
Utilisez la fonction
set()
pour supprimer les doublons dans une liste en Python -
Utilisez le module
iteration_utils
pour trouver les doublons dans une liste Python
Ce tutoriel vous montre comment rechercher des doublons dans une liste en Python.
Utilisez la fonction set()
pour supprimer les doublons dans une liste en Python
Python set()
est une fonction qui permet de convertir une liste en un ensemble. Basée sur la description d’un ensemble et d’une liste, la conversion d’une liste en un ensemble signifierait la suppression de tous les doublons dans la liste.
Cependant, ce que nous voulons, c’est rechercher les entrées de la liste qui sont des doublons. Pour ce faire, nous utilisons toujours la fonction set()
, mais nous n’incluons dans la liste que celles qui ont plus d’une entrée, ce qui signifie que ce sont des entrées qui ont des doublons.
Déclarer une fonction qui recherche les doublons dans une liste et les stocker comme un ensemble.
def listToSet(listNums):
set([num for num in listNums if listNums.count(x) > 1])
Une autre approche, si vous voulez garder le résultat sous forme de liste au lieu d’un ensemble, consiste à utiliser les fonctions set()
et add()
pour trouver les doublons dans la liste et la reconvertir en liste lors du retour.
def list_duplicates(listNums):
once = set()
seenOnce = once.add
twice = set(num for num in listNums if num in once or seenOnce(x))
return list(twice)
Cette fonction ajoute l’entrée à once
si le nombre apparaît pour la première fois, et n’existe pas dans l’ensemble once
.
Les deux fonctions retourneront la même sortie, bien que l’une soit un ensemble, et l’autre une liste. Le résultat affichera toutes les entrées en double dans les “listNums”.
[1, 3, 5, 8]
Utilisez le module iteration_utils
pour trouver les doublons dans une liste Python
iteration_utils
a deux fonctions qui peuvent rechercher des doublons dans une fonction prédéfinie : duplicates
et unique_everseen
.
Nous allons utiliser la même définition de liste listNums
ci-dessus.
Importez des duplicates
depuis iteration_utils
et utilisez-les pour retourner une liste de tous les duplicates dans listNums
.
from iteration_utils import duplicates
listNums = [1, 1, 2, 3, 3, 4, 5, 5, 5, 5, 6, 8, 8]
def listDups(listNums):
return list(duplicates(listNums))
La sortie de la fonction ci-dessus retournera une liste de toutes les entrées dupliquées dans la listNums
.
[1, 1, 3, 3, 5, 5, 5, 5, 8, 8]
Cependant, la liste inclut également les itérations des entrées dupliquées. Cela signifie qu’elle renverra chaque instance de l’entrée dupliquée.
- C’est là qu’intervient
unique_everseen
. Cette fonction traite la liste pour supprimer toutes les instances dupliquées queduplicates()
retourne.
from iteration_utils import duplicates
from iteration_utils import unique_everseen
listNums = [1, 1, 2, 3, 3, 4, 5, 5, 5, 5, 6, 8, 8]
def listDupsUnique(listNums):
return list(unique_everseen(duplicates(listNums)))
Cette fonction retournera ensuite :
[1, 3, 5, 8]
En résumé, il y a 2 solutions faciles pour rechercher les doublons dans une liste en Python. La première consiste à utiliser set()
et d’autres fonctions utilitaires des ensembles en Python pour rechercher les doublons et les stocker dans une autre variable. Une autre est par le module iteration_utils
en utilisant duplicates
et unique_everseen
, qui fait plus ou moins la même chose et produit la même sortie.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArticle connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python