Das Schneiden der Liste ( ls[::-1]
) eignet sich hervorragend zum Erstellen einer umgekehrten Kopie, aber auf meinem Computer ist es langsamer für die Iteration, selbst wenn die Liste bereits im Speicher ist:
Wie oft in Fällen wie diesen ist der Unterschied ziemlich vernachlässigbar. Es könnte für verschiedene Versionen von Python anders sein (Ich habe Python 2.7 für den obigen Test verwendet). Der wirkliche Vorteil der Verwendung von reversed
ist Lesbarkeit - es wäre in den meisten Fällen vorzuziehen, auch wenn es ein paar zusätzliche Mikrosekunden kostet.
Ich weiß, dass dieser Thread jetzt Jahre alt ist, aber ein Kommentar unter der akzeptierten Antwort enthält die Behauptung, dass die Verwendung von [::-1]
schneller ist als die Verwendung von reversed()
. Dies ist nur dann der Fall, wenn Ihre Liste explizit in den Speicher geladen wird, was beim Countdown nicht erforderlich ist. Sonst ist es langsamer:
... und [::-1]
verwenden mehr Speicherplatz als reversed
.