it-swarm.com.de

Wie konvertiere ich eine Liste in eine Zeichenfolge mit Leerzeichen in Python?

Wie kann ich eine Liste in Python in eine durch Leerzeichen getrennte Zeichenfolge konvertieren?

Zum Beispiel möchte ich diese Liste konvertieren:

my_list = [how,are,you]

In die Zeichenfolge "how are you"

Die Räume sind wichtig. Ich möchte nicht howareyou erhalten, wie ich es bei meinem bisherigen Versuch getan habe

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

sie müssen sich mit einem Leerzeichen verbinden, nicht mit einer leeren Zeichenfolge ...

153
Joran Beasley

Ich werfe dies als Alternative ein, nur zum Teufel, obwohl es im Vergleich zu " ".join(my_list) für Strings ziemlich nutzlos ist. Für Nicht-Strings (wie ein Array von Ints) ist dies möglicherweise besser:

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

Dies können wir auch für Non String list tun

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

Um eine gewünschte Ausgabe zu erzielen, müssen wir zuerst wissen, wie die Funktion funktioniert.

Die Syntax für die join() -Methode, wie in der python Dokumentation beschrieben, lautet wie folgt:

string_name.join(iterable)

Dinge zu beachten:

  • Es gibt ein string zurück, das mit den Elementen von iterable verkettet ist. Das Trennzeichen zwischen den Elementen ist string_name.
  • Jeder Nicht-String-Wert in iterable löst einen TypeError aus.

Um Leerzeichen hinzuzufügen, müssen wir nur den string_name Durch einen " " Oder einen ' ' Ersetzen. Beide funktionieren und platzieren den iterable, die wir verketten möchten.

Unsere Funktion sieht also so aus:

' '.join(my_list)

Aber was ist, wenn wir eine bestimmte Anzahl von white spaces Zwischen unsere Elemente im iterable einfügen möchten?

wir müssen nur Folgendes tun:

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

hier ist number eine Benutzereingabe.

Also zum Beispiel wenn number=4.

Dann ist die Ausgabe von str(4*" ").join(my_list)how are you, So dass zwischen jedem Wort 4 Leerzeichen stehen.

0
Abhay Tiwari