Supprimer des doublons de morceaux de chaines de caracteres
Bonjour,
Je débute en Python , et je cherche à supprimer les doublons qui apparaissent dans des chaînes de caractères. Mais ce sont des morceaux de chaîne que je veux retirer, pas juste de simples caractères. Et je galère, je ne trouve pas...
Voici mon code jusque là :
contenu = fichier.read() liste = contenu.split() longueurtotale = liste.__len__() print(longueurtotale) chariot=42 print(liste[chariot]) print(liste[longueurtotale-chariot]) print(liste[0:chariot]) print(liste[1:chariot+1]) print(liste[2:chariot+2]) print(liste[3:chariot+3]) # chercher à ecrire: si (liste[1:chariot+1])==(liste[2:chariot+2]), alors effacer (liste[2:chariot+2])
Résultat :
['mon', 'texte', 'a', 'defricher', 'une', 'idée', 'lointaine', ';des', 'rapports', 'de', 'que', 'la', 'réalité', 'tels', 'que', 'le', 'pouvoir,', 'par', 'divers', 'moyens,', 'mais', 'vivons-nous', 'Et', 'je', 'voudrais', 'ajouter', 'à', 'cela', 'les', 'rapports', 'de', 'pouvoir', 'que', 'la', 'réalité', 'comporte,', 'selon', 'divers', 'moyens,', 'et', 'montre,', 'mais'] ['texte', 'a', 'defricher', 'une', 'idée', 'lointaine', ';des', 'rapports', 'de', 'que', 'la', 'réalité', 'tels', 'que', 'le', 'pouvoir,', 'par', 'divers', 'moyens,', 'mais', 'vivons-nous', 'Et', 'je', 'voudrais', 'ajouter', 'à', 'cela', 'les', 'rapports', 'de', 'pouvoir', 'que', 'la', 'réalité', 'comporte,', 'selon', 'divers', 'moyens,', 'et', 'montre,', 'mais', 'dont'] ['a', 'defricher', 'une', 'idée', 'lointaine', ';des', 'rapports', 'de', 'que', 'la', 'réalité', 'tels', 'que', 'le', 'pouvoir,', 'par', 'divers', 'moyens,', 'mais', 'vivons-nous', 'Et', 'je', 'voudrais', 'ajouter', 'à', 'cela', 'les', 'rapports', 'de', 'pouvoir', 'que', 'la', 'réalité', 'comporte,', 'selon', 'divers', 'moyens,', 'et', 'montre,', 'mais', 'dont', 'chacun'] ['defricher', 'une', 'idée', 'lointaine', ';des', 'rapports', 'de', 'que', 'la', 'réalité', 'tels', 'que', 'le', 'pouvoir,', 'par', 'divers', 'moyens,', 'mais', 'vivons-nous', 'Et', 'je', 'voudrais', 'ajouter', 'à', 'cela', 'les', 'rapports', 'de', 'pouvoir', 'que', 'la', 'réalité', 'comporte,', 'selon', 'divers', 'moyens,', 'et', 'montre,', 'mais', 'dont', 'chacun', 'n’a']
Est-ce que quelqu'un saurait me guider vers les modules appropriés ?
Merci
- Supprimer les doublons python
- Supprimer rond bleu whatsapp - Guide
- Supprimer une page word - Guide
- Supprimer les doublons excel - Guide
- Doublons photos - Guide
- Supprimer pub youtube - Accueil - Streaming
2 réponses
bonjour,
le point de départ, je pense, c'est de décrire le résultat attendu.
Bonjour,
En complément à la question posée par yg_be, il faut indiquer en plus de ce que le programme doit retourner ce que ton fichier contient. À quoi correspond chariot dans ton code ?
Admettons que ton fichier contienne :
mon texte a defricher une idée lointaine ; des rapports de que la réalité tels que le pouvoir, par divers moyens, mais vivons-nous Et je voudrais ajouter à cela les rapports de pouvoir que la réalité comporte, selon divers moyens, et montre, mais
Si le but est de conserver chaque mot de sorte à ce qu'il n'apparaisse qu'en un exemplaire, tu peux écrire :
# -*- coding: utf-8 -*- with open("fichier.txt", "r") as f: mots = f.read().split() print(set(mots))
Si tu veux conserver l'ordre d'apparition des mots :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- with open("fichier.txt", "r") as f: mots = f.read().split() s = set() res = list() for mot in mots: if mot not in s: res.append(mot) s.add(mot) print(res)
Bonne chance