0
爲什麼lst.reverse()
比lst[::-1]
快得多?似乎有在兩者的Python 3和2爲什麼「lst.reverse()」比「lst [:: - 1]」快得多?
實施例大的時間差(Python的3.5)隔開
>>> from timeit import timeit
>>> lst = list('Crooked Hillary!') * 1000
>>> def TrumpWins(lst):
... lst.reverse()
... return lst
...
>>> def SecondPlace(lst):
... return lst[::-1]
...
>>> timeit(lambda: TrumpWins(lst), number=100000)
0.7976173080969602
>>> timeit(lambda: SecondPlace(lst), number=100000)
4.703373569995165
你剛剛發佈這個是爲了讓它驚人嗎? – deceze
我會說'reverse'使用編譯過的'for',但是'lst [:: - 1]'調用了一個未編譯好的'...',但我可能完全錯誤。順便說一句,你很可能被這樣的帳戶名稱禁止。 –
沒有贏得這裏的熱門投票 – EdChum