web-dev-qa-db-fra.com

Comment convertir une liste en chaîne avec des espaces en Python?

Comment puis-je convertir une liste en chaîne séparée par des espaces en Python?

Par exemple, je veux convertir cette liste:

my_list = [how,are,you]

Dans la chaîne "how are you"

Les espaces sont importants. Je ne veux pas obtenir howareyou comme je l’ai fait jusqu’à présent avec ma tentative

"".join(my_list)
72
user1653402
" ".join(my_list)

vous devez joindre avec un espace pas une chaîne vide ...

153
Joran Beasley

Je vais utiliser cette option comme alternative, même si c'est pratiquement inutile par rapport à " ".join(my_list) pour les chaînes. Pour les non-chaînes (comme un tableau d'ints), cela peut être mieux:

" ".join(str(item) for item in my_list)
13
Polaris

Pour Non String list on peut faire comme ça aussi

" ".join(map(str, my_list))
2
Athar

Donc, pour obtenir le résultat souhaité, nous devons d’abord savoir comment fonctionne la fonction.

La syntaxe de la méthode join() décrite dans la documentation python) est la suivante:

string_name.join(iterable)

Choses à noter:

  • Il retourne un string concaténé avec les éléments de iterable. Le séparateur entre les éléments étant le string_name.
  • Toute valeur non chaîne dans iterable lève un TypeError

Maintenant, pour ajouter espaces blancs, il suffit de remplacer le string_name Par un " " Ou un ' ' Les deux fonctionneront et placeront le iterable que nous voulons concaténer.

Donc, notre fonction ressemblera à ceci:

' '.join(my_list)

Mais que se passe-t-il si nous voulons ajouter un nombre particulier de white spaces Entre nos éléments dans le iterable?

nous avons juste besoin de faire ceci:

str(number*" ").join(iterable)

ici, le number sera une entrée utilisateur.

Donc, par exemple si number=4.

Ensuite, le résultat de str(4*" ").join(my_list) sera how are you, De sorte qu'il y a 4 espaces entre chaque mot.

0
Abhay Tiwari