Die timeit
method wird standardmäßig millionenfach ausgeführt. Ihre Liste ist jedoch nur 10000 Elemente lang. Also, wenn timeit
läuft, wird die erste 10000
mal glücklich Pop, aber die 10001
Iteration wird fehlschlagen. Sie können die Anzahl, wie oft explizit festgelegt:
popz.timeit(n=10000)
aber ... das ist eine wirklich schwierige Timing Situation, da Sie zu Zeit wollen, wie lange es dauert .pop
, aber die Größe der Liste ändert sich ständig. Wenn Sie nach der asymptotischen Leistung suchen, könnten Sie wahrscheinlich verifizieren, dass .pop(0)
eine asymptotische Leistung von O (N) aufweist. Allerdings werden konkrete Zeiten schwer zu bekommen sein, da Sie entweder die Zeit, die es dauert, um die Liste zusammen mit der .pop
, oder Ihre Liste wird ständig ändern, während Sie es timing sind. Keiner von ihnen ist ideal ... Aber ich denke, das ist das Problem mit dem Versuch, Zeit nicht idempotent Methoden ...
Vielen Dank! –