Wenn ich eine Liste von Zeichen habe:
a = ['a','b','c','d']
Wie konvertiere ich sie in eine einzige Zeichenfolge?
a = 'abcd'
Wenn ich eine Liste von Zeichen habe:
a = ['a','b','c','d']
Wie konvertiere ich sie in eine einzige Zeichenfolge?
a = 'abcd'
Neben str.join
was der natürlichste Weg ist, eine Möglichkeit ist die Verwendung von io.StringIO
und missbrauchen writelines
um alle Elemente in einem Zug zu schreiben:
import io
a = ['a','b','c','d']
out = io.StringIO()
out.writelines(a)
print(out.getvalue())
Drucke:
abcd
Wenn Sie diesen Ansatz mit einer Generatorfunktion oder einer Iterablen verwenden, die nicht eine tuple
oder eine list
speichert es die temporäre Listenerstellung, die join
tut, um die richtige Größe auf einmal zuzuweisen (und eine Liste von 1-Zeichen-Zeichenfolgen ist speichertechnisch sehr teuer).
Wenn Sie wenig Speicherplatz haben und ein faul ausgewertetes Objekt als Eingabe haben, ist dieser Ansatz die beste Lösung.
Sie können auch Folgendes verwenden operator.concat()
wie diese:
>>> from operator import concat
>>> a = ['a', 'b', 'c', 'd']
>>> reduce(concat, a)
'abcd'
Wenn Sie Python 3 verwenden, müssen Sie vorangestellt werden:
>>> from functools import reduce
da die eingebaute reduce()
wurde aus Python 3 entfernt und befindet sich jetzt in functools.reduce()
.
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.