Maison  >  Article  >  développement back-end  >  Comment éliminer les caractères en double des chaînes tout en préservant l'ordre des caractères en Python ?

Comment éliminer les caractères en double des chaînes tout en préservant l'ordre des caractères en Python ?

DDD
DDDoriginal
2024-10-19 12:51:29568parcourir

How to Eliminate Duplicate Characters from Strings while Preserving Character Order in Python?

Élimination des caractères en double des chaînes en Python

Question :

Pour supprimer les caractères en double de une chaîne en Python, considérons l'exemple de la conversion de "mppmt" en "mpt". Comment pouvons-nous réaliser cette transformation ?

Réponse :

Si l'ordre des caractères n'a pas d'importance, nous pouvons employer la méthode suivante :

<code class="python">"".join(set(foo))</code>

Ici, set() génère une collection de caractères uniques à partir de la chaîne d'origine, et "".join() reconstruit la chaîne à partir de ces éléments uniques, en les organisant dans un ordre arbitraire.

Cependant, en préservant l'original l’ordre des caractères est crucial dans certaines situations. Pour tenir compte de cela, nous pouvons utiliser un dictionnaire plutôt qu'un ensemble, en tirant parti de sa fonctionnalité pour maintenir l'ordre d'insertion dans les versions 3.7 et supérieures de Python :

<code class="python">foo = "mppmt"
result = "".join(dict.fromkeys(foo))</code>

Cette approche donne la chaîne souhaitée "mpt". De même, dans les versions Python antérieures à 3.7, nous pouvons utiliser collections.OrderedDict, qui a été introduit dans Python 2.7, pour obtenir le même résultat.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn