Peter J. Holzer schrieb am 16.09.2017 um 22:46:
Gerade bei langen Listen sollte man darauf verzichten, sie aufzubauen, wenn man sie nicht unbedingt braucht
Natürlich. Einzig darauf zielt dein Beispielcode ja auch ab. Gilt übrigens genauso für lange Strings.
(habe damit erst kürzlich 8 GB eingespart - pro Prozess (das war Perl und nicht Python, aber die beiden Sprachen sind sich da sehr ähnlich)).
Wie du hier korrekt andeutest, handelt es sich bei dem gegebenen Fall um eine Optimierung. Optimierung bedeutet ja, dass du eigentlich gut geschriebenen Code ersetzt durch etwas, was dem spezifischen Anwendungsfall stärker angepasst ist und (nachweislich) unter den erwarteten Bedingungen effizienter funktioniert. Mit dem Risiko, dass es unter anderen (eben nicht erwarteten) Bedingungen vielleicht auch weniger gut funktioniert. Kann manchmal zu Y2K-Problemen führen, aber ansonsten ist dagegen nichts einzuwenden. Stefan