有两个功能。
def f1(n):
t = time()
m = []
for i in range(n):
m.insert(0, 0)
return time() - t
def f2(n):
t = time()
m = []
for i in range(n):
m[:0] = [0]
return time() - t
他们都插入许多元素列表。但第二个使用切片。我知道这些算法很糟糕(因为O(N ^ 2))但看起来比f1快f2(我尝试过Python 2和Python 3)。
(你可以在这里看到时间http://rextester.com/XSPGVO38315)
它是随机的还是存在f2优于f1的共振?这些功能是否相同?如果不是,哪个更好(更快)?