Home - Tutoriels Python - Comment supprimer les doublons de la liste Python et garder l'ordre? [duplicate]
⌚ Reading time: 4 minutes Josh Glover
Étant donné une liste de chaînes, je souhaite la trier par ordre alphabétique et supprimer les doublons. Je sais que je peux le faire:
from sets import Set
[... ]
myHash = Set(myList)
mais je ne sais pas comment récupérer les membres de la liste du hachage par ordre alphabétique. Je ne suis pas marié au hasch, donc n'importe quel moyen d'y parvenir fonctionnera. De plus, les performances ne sont pas un problème, je préférerais donc une solution clairement exprimée en code à une solution rapide mais plus opaque. Rod Daunoravicius
Une liste peut être triée et dédupliquée à l'aide de fonctions intégrées:
myList = sorted(set(myList))
set est une fonction intégrée pour Python >= 2. 3
sorted est une fonction intégrée pour Python >= 2. 4
sykora
Si votre entrée est déjà triée, il existe peut-être un moyen plus simple de le faire:
from operator import itemgetter
from itertools import groupby
unique_list = list(map(itemgetter(0), groupby(yourList)))
Paweł Sobkowiak
Si vous souhaitez conserver l'ordre de la liste d'origine, utilisez simplement OrderedDict avec None comme valeurs.
- Supprimer les doublons d'une liste python
- Supprimer les doublons python programming
- Supprimer les doublons python mac
- Maison à vendre à langeais
- Maison à vendre à langeais 37130
- Maison à vendre à langeac
Supprimer Les Doublons D'une Liste Python
Une question? Pas de panique, on va vous aider! Il y a environ 23 heures
Bonjour,
J'ai un code fonctionnel qui me retourne une liste des catastrophes naturelles pour un insee donné par l'utilisateur. Dans la liste des catastrophes naturelles retournée, certaines s'affichent plusieurs fois (exemple avec insee = 75056 qui retourne 10 fois "Inondations et/ou Coulées de Boue"). Pourriez-vous m'aider à supprimer les doublons svp? J'ai déjà essayé avec set () mais ce n'est pas adapté au type de réponse que me retourne le code. Ci-joint le code utilisé.
Supprimer Les Doublons Python Programming
En mode interactif (le shell python), vu qu'aucune variable ne récupère ce nombre, le retour de la fonction est affiché (c'est le fonctionnement du shell Python). 15 janvier 2014 à 19:25:17
Merci de l'info. Par contre, savez vous pourquoi ceci marche en mode shell et pas en mode "normal"? filename = input('Entrer le nom du script: ')
print ('Code de l\'erreur: ', err)
print ('Le fichier n\'existe probablement pas')
Et pour gérer les exceptions? fred1599 > je vais regarder ca, merci. EDIT: Pardonnez moi, je suis un abruti. Je lançais le mauvais fichier x)
Voici le code final si il y a des intéressés:
filename = input('Entrer le nom du fichier: ')
print ('\n\nLes lignes en doublons ont correctement été enlevées. \n\n')
print ('Erreur! \n\nCode de l\'erreur: \n', err, '\n\n')
print ('Le fichier n\'existe probablement pas\n\n')
- Edité par Vaslyn 15 janvier 2014 à 19:55:08
15 janvier 2014 à 19:58:41
ls = set()
Non testé! 15 janvier 2014 à 21:21:35
filename = input("file: ")
with open(filename) as file:
lines = set(adlines())
(''(lines))
except IOError as e:
print(e)
input("... ")
Quitte à utiliser un set (très bonne idée), autant en profiter pour faire court.
Supprimer Les Doublons Python Mac
Comme pour votre souhait, il s'avère que vous pouvez faire exactement. Il suffit d'installer package à partir de PyPI. Cette news n'a pas de surprise me dans le moindre. Je serais étonné si il y a n'est pas un PyPI package pour cela. Ce que je voulais dire, c'est qu'elle devrait faire partie de la piles incluses en python, car ils sont utilisés de manière fréquente. Je suis plutôt perplexe quant à pourquoi ils ne sont pas. Original L'auteur Lauritz V. Thaulow
J'ai besoin d'écrire une fonction appelée removeDuplicate(string) avec seulement la chaîne comme paramètre. Il doit supprimer tous les doublons adjacents. Il doit également être récursif. Voici ce que j'ai jusqu'à présent:
def stringClean(string):
if len(string) == 0:
return ""
elif len(string) == 1:
return string[0] + string[1:]
else:
if string[0] == string[1]:
return string[0] + stringClean(string[2:])
return string[0] + stringClean(string[1:])
print stringClean("Hello") #returns Helo
Mon problème est que cela ne fonctionne que dans le cas oùil n'y a que deux doublons adjacents. la saisie de "hello" renvoie correctement "helo" mais la saisie de "helllo" ou "hellllo" renvoie "hello" au lieu de "helo". Réponses:
4 pour la réponse № 1 Cela fera le travail:
if not string:
if len(string) == 1:
return string
return stringClean(string[1:])
print stringClean("HHHelllo") #returns Helo
Concernant votre code, il n'y a pas besoin de retourner string[0] + string[1:] Si la chaîne est de longueur 1.
Votre future
maison se trouve peut-être à Langeac (43)
Vous êtes à la recherche d'une maison à vendre à Langeac? Découvrez notre large choix de maisons en vente à Langeac. Acheter une maison rapidement et facilement, Orpi vous trouvera le bien immobilier qu'il vous faut à Langeac. Si vous souhaitez en savoir plus sur Langeac, découvrez notre page dédiée à l' immobilier dans Langeac: vie de quartier, informations pratiques et activités locales. Acheter votre maison en toute tranquillité. Orpi met toutes les garanties de votre côté. Plus qu'un investissement, un achat immobilier constitue très souvent un projet de vie. Vente maison 127 m² à Langeac (43300) (24893409). Votre agent immobilier Orpi vous accompagne tout au long de votre processus d'achat.
Maison À Vendre À Langeais
Maison 7 pièces Langeac (43300)
À saisir, dans un charmant village, avec toutes les commodités, à 5 minutes de langeac, jolie maison de bourg en pierres, d'une surface habitable totale de 127 m². Composée de deux logements, la maison est d'un excellent rapport locatif. L'ensemble est partiellement à rénover et offre un gros potentiel. Proche de toutes commodités (école, crèche, poste, alimentation etc. Maison à vendre à langeac. ) honoraires charge vendeur prix moyens des énergies indexés au 01 / 01 / 2021 (abonnement compris). Montant estimé des dépenses annuelles d'énergie pour un usage standard: entre 3 854 € et 5 214 € par an. Cif ardeche - laurence louche - 06 71 42 95 56 - agent commercial rsac n° 350 904 934 - ville du greffe: le puy en velay - plus d'informations sur cif-ardeche. Com (réf. 13894a6) - informations coronavirus: nos visites s'effectueront avec la mise en place d'un protocole sanitaire, notamment avec le port d'un masque et dans le respect des gestes barrières, afin d'assurer la protection de tous.
Contacter ce professionnel
Consultez les
8 annonces
de ce professionnel de l'immobilier
Voir
les informations légales de cette agence
* Cette simulation est communiquée à titre informatif, en se basant sur les taux moyens du marché. Annonces similaires
Maison À Vendre À Langeais 37130
Autres détails
Prestations
DÉTAILS
Pièce(s): 3
Chambre(s): 1
Surface: 102 m²
Localiser ce bien immobilier
LANGEAC (43300)
- Honoraires charge vendeur Prix moyens des énergies indexés au 01/01/2021 (abonnement compris). Prix hors frais notariés, d'enregistrement et de publicité foncière. Afficher plus
Afficher moins
Diagnostics énergétiques
Diagnostic de performance énergétique (DPE)
A
B
C
D
E
F
G
Indice d'émission de gaz à effet de serre (GES)
Voir le détail
Détails des diagnostics énergétiques
Facture d'énergie estimée
entre 3 854 et 5 214 € par an
Montant estimé des dépenses annuelles d'énergie pour un usage standard:
entre 3 854 et 5 214 € par an. Maison à vendre à langeais. Date d'indexation du prix des énergies non communiquée. Logement très performant
Consommation
(énergie primaire)
610 kWH/m²
Émissions
20 kgCO²/m²
Logement extrêmement consommateur d'énergie
Diagnostic réalisé après le 1er Juillet 2021. Logement à consommation énergétique excessive:
classe G
Peu d'émissions de CO2
Émissions de CO2 très importantes
A propos du prix
Prix du bien: 40 000 €
hors frais notariés, d'enregistrement et de publicité foncière
Mis en ligne: 30/05/2022 |
Mis à jour: 01/06/2022
Référence: 0700772163
Combien me coûtera ce bien chaque mois?
Maison À Vendre À Langeac
Retour à la liste
Annonces similaires
Descriptif du bien
Chauffage:
électrique
Nombre d'étages du bâtiment:
1
Nombre de salle d'eau:
2 Salles d'eau
A saisir, dans un charmant village, avec toutes les commodités, à 5 minutes de Langeac, jolie maison de bourg en pierres, d'une surface habitable totale de 127m2. Composée de deux logements, la maison est d'un excellent rapport locatif. L'ensemble est partiellement à rénover et offre un gros potentiel. Proche de toutes commodités (école, crèche, poste, alimentation etc.. ) Honoraires charge vendeur Prix moyens des énergies indexés au 01/01/2021 (abonnement compris). Montant estimé des dépenses annuelles d'énergie pour un usage standard: entre 3 854 euros et 5 214 euros par an. CIF ARDECHE - Laurence LOUCHE - Agent commercial RSAC N° 350 904 934 - Ville du greffe: LE PUY EN VELAY - Plus d'informations (réf. Maison à vendre Langeac 43300 (Haute-loire) F7/T7 7 pièces 127m² 40000€. 13894A6) - Informations CORONAVIRUS: Nos visites s'effectueront avec la mise en place d'un protocole sanitaire, notamment avec le port d'un masque et dans le respect des gestes barrières, afin d'assurer la protection de tous.
Annonce récente A saisir, dans un charmant village, avec toutes les commodités, à 5 minutes de Langeac, jolie maison de bourg en pierres, d'une surface habitable totale de 127m2. Composée de deux logements, la maison est d'un excellent rapport locatif. L'ensemble est partiellement à rénover et offre un gros potentiel. Proche de toutes commodités (école, crèche, poste, alimentation etc... Vente Maison 3 Pièce(s) LANGEAC (43300) 95 000 €. ) Honoraires charge vendeur Prix moyens des énergies indexés au 01/01/2021 (abonnement compris). Montant estimé des dépenses annuelles d'énergie pour un usage standard: entre 3 854 € et 5 214 € par an. CIF ARDECHE - Laurence LOUCHE - 06 71 42 95 56 - Agent commercial RSAC N° 350 904 934 - Ville du greffe: LE PUY EN VELAY - Plus d'informations sur (réf. 13894A6) -- Informations CORONAVIRUS: Nos visites s'effectueront avec la mise en place d'un protocole sanitaire, notamment avec le port d'un masque et dans le respect des gestes barrières, afin d'assurer la protection de tous. -- Honoraires charge vendeur Prix moyens des énergies indexés au 01/01/2021 (abonnement compris).