我尝试了两种不同的方法来反转python中的列表。
import timeit
value = [i for i in range(100)]
def rev1():
v = []
for i in value:
v.append(i)
v.reverse()
def rev2():
v = []
for i in value:
v.insert(0, i)
print timeit.timeit(rev1)
print timeit.timeit(rev2)
有趣的是,第二种将值插入到第一个元素的方法比第一种要慢得多。
20.4851300716
73.5116429329
为什么呢?就操作而言,在头部插入元素似乎并不那么耗费。