Maison  >  Article  >  développement back-end  >  Pourquoi `.join()` insère-t-il des séparateurs lors de la concaténation de chaînes ?

Pourquoi `.join()` insère-t-il des séparateurs lors de la concaténation de chaînes ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-09 14:05:03235parcourir

Why does `.join()` insert separators when concatenating strings?

Comprendre la méthode Python .join()

La méthode .join() de Python est un outil puissant pour la concaténation de chaînes, souvent préféré aux alternatives like et str.format.

Question :Pourquoi .join() se comporte de manière inattendue lors de la concaténation de chaînes ?

Réponse : La méthode .join() prend une liste de chaînes et insère la chaîne de séparation fournie entre chaque élément. Par exemple :

",".join(["a", "b", "c"]) == "a,b,c"

Dans l'exemple donné :

strid = repr(595)
array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring().join(strid)

La chaîne "595" est convertie en une liste de caractères : ["5", "9", "5 "]. Ensuite, la chaîne de séparation est insérée entre chaque caractère, ce qui donne le résultat :

5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5

Solution : Pour concaténer des chaînes sans insérer de séparateur, utilisez plutôt :

print array.array('c', random.sample(string.ascii_letters, 20 - len(strid)))
.tostring() + strid

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