Nehmen wir an, dass wir die Länge einer Liste in bestimmten Berechnungen in einer Schleife verwenden müssen. Was wäre schneller, mit len(list_)
in jeder Berechnung oder Speichern der Länge length = len(list_)
und dann length
? Zum Beispiel:Wird die Länge einer Liste einmal vor einer Schleife schneller berechnet als innerhalb der Schleife neu berechnet?
for x in range(n):
print(len(list_) + 1)
Versus
length = len(list_)
for x in range(n):
print(length + 1)
eine allgemeine Situation Angenommen (n
kann einen beliebigen Wert sein).
Warum testen Sie es nicht mit 'time.time()' und berichten Sie uns? – blacksite
Noch besser, es gibt ein ganzes [timeit] (https://docs.python.org/3.6/library/timeit.html) Modul, das entwickelt wurde, um dabei zu helfen, was viele der Probleme vermeidet, die nur 'time.time () 'kann einführen. – DSM
Der einzige Unterschied zwischen diesen Codeblöcken besteht darin, auf eine Variable zuzugreifen und sie als Funktion mit einer anderen Variablen aufzurufen, auf die zugegriffen wird, oder einfach auf eine Variable zuzugreifen. Der einzige Unterschied besteht darin, dass ersterer eine Funktion aufruft und auf eine zweite Variable zugreift, während letzterer nicht funktioniert. Was denkst du ist schneller? Nachdem Sie eine fundierte Schätzung gemacht haben, führen Sie einige Tests durch und finden Sie heraus. Dann ignoriere das Ergebnis und benutze den Code, der sauberer aussieht. – TigerhawkT3