1193 Stimmen

Verketten (Zusammenfügen) von Elementen in einer Liste zu einer einzigen Zeichenfolge

Wie kann ich eine Liste von Zeichenfolgen zu einer einzigen Zeichenfolge zusammenfügen?

Zum Beispiel, wenn ['this', 'is', 'a', 'sentence'] wie bekomme ich "this-is-a-sentence" ?


Für den Umgang mit ein paar Strings in <em>einzelne Variablen </em>siehe <a href="https://stackoverflow.com/questions/4435169">Wie kann ich in Python eine Zeichenkette an eine andere anhängen? </a>.

Für den umgekehrten Prozess - die Erstellung einer Liste aus einer Zeichenkette - siehe <a href="https://stackoverflow.com/q/4978787">Wie kann ich eine Zeichenfolge in eine Liste von Zeichen aufteilen? </a>o <a href="https://stackoverflow.com/questions/743806/">Wie zerlege ich eine Zeichenfolge in eine Liste von Wörtern? </a>nach Bedarf.

12voto

Nishkarsh Dixit Punkte 119

Wir können auch Pythons reduce Funktion:

from functools import reduce

sentence = ['this','is','a','sentence']
out_str = str(reduce(lambda x,y: x+"-"+y, sentence))
print(out_str)

9voto

Abhishek V Punkte 111

Wir können angeben, wie wir die Zeichenfolge verbinden. Anstelle von '-' können wir verwenden ' ' :

sentence = ['this','is','a','sentence']
s=(" ".join(sentence))
print(s)

2voto

wiredcontrol Punkte 118

Wenn Sie eine Liste mit gemischtem Inhalt haben und diese in eine Reihe bringen wollen, gibt es eine Möglichkeit:

Betrachten Sie diese Liste:

>>> aa
[None, 10, 'hello']

Konvertieren Sie es in eine Zeichenkette:

>>> st = ', '.join(map(str, map(lambda x: f'"{x}"' if isinstance(x, str) else x, aa)))
>>> st = '[' + st + ']'
>>> st
'[None, 10, "hello"]'

Falls erforderlich, konvertieren Sie zurück in die Liste:

>>> ast.literal_eval(st)
[None, 10, 'hello']

1voto

Carmoreno Punkte 1253

Wenn Sie im Endergebnis eine durch Kommas getrennte Zeichenkette erzeugen wollen, können Sie etwas wie das folgende verwenden:

sentence = ['this','is','a','sentence']
sentences_strings = "'" + "','".join(sentence) + "'"
print (sentences_strings) # you will get "'this','is','a','sentence'"

0voto

Pyte Punkte 9
def eggs(someParameter):
    del spam[3]
    someParameter.insert(3, ' and cats.')

spam = ['apples', 'bananas', 'tofu', 'cats']
eggs(spam)
spam =(','.join(spam))
print(spam)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X