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