46 votes

Chaîne de concat Python avec liste

Je voulais construire une chaîne à partir d'une liste.

J'ai utilisé la commande string.join(), mais si j'ai :

 ['hello', 'good', 'morning']

J'obtiens : hellogoodmorning

Existe-t-il une méthode qui me permet de mettre un espace entre chaque mot ? (sans avoir besoin d'écrire une boucle for)

sincères amitiés.

79voto

Lance Collins Points 2955

Tout ce que vous avez à faire est d'ajouter l'espace devant join.

  ' '.join(list)

23voto

kev Points 41855
>>> ' '.join(['hello', 'good', 'morning'])
'hello good morning'

La méthode standard et la meilleure pour joindre une liste de chaînes. Je ne peux rien imaginer de mieux que celui-ci.

5voto

bofh.at Points 540

ça fait ce que tu veux :

 " ".join(['hello', 'good', 'morning'])

Généralement, lorsque vous appelez join() sur une chaîne, vous utilisez " " pour spécifier le séparateur entre les éléments de la liste.

3voto

Fredrik Pihl Points 20944
>>> " ".join(['hello', "good", "morning"])
'hello good morning'

ou vous pouvez utiliser la fonction string.join() , qui utilise un seul espace comme séparateur par défaut.

 >>> help(string.join)
Help on function join in module string:

join(words, sep=' ')
    join(list [,sep]) -> string

    Return a string composed of the words in list, with
    intervening occurrences of sep.  The default separator is a
    single space.

Exemple:

 >>> import string
>>> string.join(['hello', "good", "morning"])
'hello good morning'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X