美文网首页
python 几种List生成方法的时间对比

python 几种List生成方法的时间对比

作者: X_xxieRiemann | 来源:发表于2019-04-05 14:38 被阅读0次
# coding:utf-8

from timeit import Timer

# li1 = [1, 2]
#
# li2 = [23,5]
#
# li = li1+li2
#
# li = [i for i in range(10000)]
#
# li = list(range(10000))

def t1():
    li = []
    for i in range(10000):
        li.append(i)

def t2():
    li = []
    for i in range(10000):
        li = li + [i]
        # li += [i]    #这种写法编译器会进行优化,和 li.append(i)一致

def t3():
    li = [i for i in range(10000)]

def t4():
    li = list(range(10000))

def t5():
    li = []
    for i in range(10000):
        li.extend([i])

timer1 = Timer("t1()", "from __main__ import t1")
print("append:", timer1.timeit(1000))

timer2 = Timer("t2()", "from __main__ import t2")
print("+:", timer2.timeit(1000))

timer3 = Timer("t3()", "from __main__ import t3")
print("[i for i in range]:", timer3.timeit(1000))

timer4 = Timer("t4()", "from __main__ import t4")
print("list(range()):", timer4.timeit(1000))

timer5 = Timer("t5()", "from __main__ import t5")
print("extend:", timer5.timeit(1000))


def t6():
    li = []
    for i in range(10000):
        li.append(i)

def t7():
    li = []
    for i in range(10000):
        li.insert(0, i)


# timer6 = Timer("t6()", "from __main__ import t6")
# print("append", timer6.timeit(1000))
#
# timer7 = Timer("t7()", "from __main__ import t7")
# print("insert(0)", timer7.timeit(1000))
append: 0.6270964067693481
+: 113.02207908270334
[i for i in range]: 0.29577242702490025
list(range()): 0.17592216854362164
extend: 1.2595966421317826

可以看到:list(range())[i for i in range]这两种方法速度较快

相关文章

网友评论

      本文标题:python 几种List生成方法的时间对比

      本文链接:https://www.haomeiwen.com/subject/dkxneqtx.html