Verwendung str.join()
:
s = ''.join(l)
Die Zeichenfolge, auf dem Sie nennen dies wird als Trennzeichen zwischen den Saiten in l
verwendet:
>>> l=['a', 'b', 'c']
>>> ''.join(l)
'abc'
>>> '-'.join(l)
'a-b-c'
>>> ' - spam ham and eggs - '.join(l)
'a - spam ham and eggs - b - spam ham and eggs - c'
Mit str.join()
ist viel schneller als Ihre Elemente verketten Stück für Stück, da für jede Verkettung ein neues String-Objekt erzeugt werden muss. str.join()
muss nur ein neues String-Objekt erstellen.
Beachten Sie, dass str.join()
die Eingangsfolge zweimal durchlaufen wird. Einmal, um zu berechnen, wie groß der Ausgabe-String sein muss, und noch einmal, um ihn zu erstellen. Als Nebeneffekt, das bedeutet, dass anstelle eines Generators Ausdruck eine Liste Verständnis mit schneller ist:
slower_gen_expr = ' - '.join('{}: {}'.format(key, value) for key, value in some_dict)
faster_list_comp = ' - '.join(['{}: {}'.format(key, value) for key, value in some_dict])
+1 Q/A von 25 s ziemlich schwer versetzt zu passen ...... –
Der Ninja wieder zuschlägt . –
Ein guter Link: http://stackoverflow.com/questions/3055477/how-slow-is-pythons-string-concatenation-vs-str-join Ich mag, wie diese Antwort für eine wirklich grundlegende Frage so detailliert ist – jamylak