Maison >développement back-end >Tutoriel Python >Comment supprimer les caractères en double des chaînes en Python, en préservant ou en ignorant l'ordre d'origine ?

Comment supprimer les caractères en double des chaînes en Python, en préservant ou en ignorant l'ordre d'origine ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-19 12:53:01577parcourir

How to Remove Duplicate Characters from Strings in Python, Preserving or Disregarding the Original Order?

Supprimer les caractères en double des chaînes en Python

Problème :

Étant donné une chaîne contenant des doublons caractères, comment pouvons-nous supprimer ces doublons tout en préservant ou en ignorant l'ordre d'origine des caractères ?

Solution :

Préserver l'ordre d'origine :

Si conserver l'ordre des caractères d'origine n'est pas nécessaire, nous pouvons utiliser l'approche suivante :

"".join(set(string))

Cette méthode convertit la chaîne en un ensemble, supprimant automatiquement tous les doublons et ne laissant que les caractères uniques. Par la suite, nous reconvertissons l'ensemble en chaîne à l'aide de la fonction "".join(), mais l'ordre des caractères peut changer.

Sans tenir compte de l'ordre d'origine :

Si le maintien de l'ordre des caractères d'origine n'est pas pertinent, nous pouvons supprimer les doublons à l'aide d'un dictionnaire :

result = "".join(dict.fromkeys(string))

Dans cette solution, nous créons un dictionnaire avec des clés définies pour chaque caractère de la chaîne. Cependant, comme les dictionnaires n'autorisent pas les clés en double, les valeurs sont ignorées, ne laissant que les caractères uniques. Enfin, nous rejoignons ces clés uniques dans une chaîne.

Remarque pour les versions Python :

Dans Python 3.7 et versions ultérieures, les dictionnaires conservent l'ordre d'insertion de leurs clés. Dans les versions antérieures de Python (2.7 et supérieures), nous devrons peut-être importer collections.OrderedDict pour conserver l'ordre d'origine.

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