[PYTHON] Supprimer les doublons d'une liste, en gardant l'ordre.
Résolu
JulienJust
Messages postés
149
Date d'inscription
Statut
Membre
Dernière intervention
-
JulienJust Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
JulienJust Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
J'ai un petit soucis:
Je souhaite écrire un script pouvant supprimer les doublons d'une liste tout en conservant l'ordre des éléments.
Voici le type de liste sur lesquelles je bosse:
et je veux que le script puisse me retourner la liste de la manière suivante:
Seuls les doublons de TROIS LETTRES doivent être éliminés.
Pouvez-vous m'aider?
Merci d'avance :-)
J'ai un petit soucis:
Je souhaite écrire un script pouvant supprimer les doublons d'une liste tout en conservant l'ordre des éléments.
Voici le type de liste sur lesquelles je bosse:
liste = [ 'N', 'MAO', 'MAN', 'O', 'N', 'MAO', 'MAN']
et je veux que le script puisse me retourner la liste de la manière suivante:
liste = ['N', 'MAO', 'MAN', 'O', 'N'].
Seuls les doublons de TROIS LETTRES doivent être éliminés.
Pouvez-vous m'aider?
Merci d'avance :-)
A voir également:
- Python supprimer les doublons d'une liste
- Supprimer rond bleu whatsapp - Guide
- Liste déroulante excel - Guide
- Supprimer une page word - Guide
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
3 réponses
Bonjour,
Cet algo devrait pouvoir t'aider, tu n'as pu qu'à le faire en python, et les mots clés sont presque les mêmes...
Cdlt.
Cet algo devrait pouvoir t'aider, tu n'as pu qu'à le faire en python, et les mots clés sont presque les mêmes...
LISTE listeFinale FOR element IN listeTemporaire { IF NOT(LEN(element) == 3 AND element IN listeFinale == TRUE) listeFinale.ADD(element)
Cdlt.
Pour les curieux, voici mon script-réponse. Il marche mais il n'est pas optimum:
# Initialisation liste = [ 'N', 'MAO', 'MAN', 'O', 'N', 'MAO', 'MAN'] liste2 = [] liste3 = [] liste2 = [elem for elem in liste if len(elem)>1] # Permet de créer une liste avec les éléments à trois caractères: MAO, MAN,... [liste3.append(elem) for elem in liste2 if not elem in liste3] # Crée la même liste que ci-dessus mais sans les doublons liste.reverse() # Renverse la liste # Par cette boucle for on supprime les doublons de liste tout en conservant l'ordre des éléments
for j in range(0, len(liste3)): if liste3[j] in liste: liste.remove(liste3[j])
liste.reverse()
>>> print liste [ 'N', 'MAO', 'MAN', 'O', 'N']