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