On 2017-08-29 17:05, Thomas Orgelmacher
Was man nicht machen sollte ist eine Konstruktion wie
s = '' for i in range(1000): s = s + 'x'
Hier wird 1001 mal ein str instantiiert und 1000 müssen vom CG wieder entsorgt werden.
Da wäre ein ''.join(['x' for i in range(1000)]) deutlich effektiver. Ja, ich weiß. 'x' * 1000 wäre noch besser, aber es ging ja nur ums Beispiel.
Wenn es Dir nicht ums Beispiel geht, dann hast Du wahrscheinlich nicht 1000 mal den gleichen String sondern 1000 verschiedene Strings. Wenn Du die bereits in einer Liste vorliegen hast, ist "".join(liste) natürlich ideal. Aber wenn Du die Liste erst bauen musst, ist liste = [] for ...: element = ... liste.append(element) s = "".join(liste) sicher nicht besser als s = "" for ...: element = ... s += element (String-Konkatenation ist in Python(3) zumindest bei langen Strings auch schön linear) hp -- _ | Peter J. Holzer | Fluch der elektronischen Textverarbeitung: |_|_) | | Man feilt solange an seinen Text um, bis | | | hjp@hjp.at | die Satzbestandteile des Satzes nicht mehr __/ | http://www.hjp.at/ | zusammenpaßt. -- Ralph Babel