Ich benutze Python 3.2.3. Was ist der schnellste Weg, um eine Liste rückwärts zu durchlaufen? [:: - 1], reversed, list.reverse () oder vielleicht anders? Ich habe es mit einer Liste von ungefähr 5e6 Elementen zu tun, also muss ich wirklich vermeiden, die Liste zu kopieren.
Fazit: reversed () ist marginal schneller als l.reverse () in einer Liste mit 100000 Items. Dies gilt natürlich noch mehr, wenn Sie nicht die gesamte Liste durchlaufen und es nicht mehr wahr ist, wenn Sie die Liste mehrmals verwenden.
l[::-1]
ist veraltet seit 2.4, das reversed()
eingeführt hat.
reversed
sollte am besten sein, da es einen Iterator zurückgibt, also kopiert es nicht die Liste, sondern liefert jeweils nur ein Element. ( list.reverse()
kopiert auch nicht die Liste, aber sie mutiert sie, so dass die Liste rückwärts ist, nachdem Sie fertig sind, während reversed
die ursprüngliche Liste nicht ändert.)
Tags und Links python list python-3.x iteration