使用切片比插入(0,...)更快地插入列表的头部?

时间:2018-02-01 00:48:38

标签: python performance list insertion

有两个功能。

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的共振?这些功能是否相同?如果不是,哪个更好(更快)?

0 个答案:

没有答案