数据结构与算法(Python版)
题目:生成前n个整数列表
解答:
耗时总结:
方法 | 速度 |
---|---|
“+” | 最慢 |
append() | 3 |
列表推导式 | 2 |
range()+list() | 1 |
# -*- coding:utf-8 -*-
from timeit import Timer
# "+" 方式
def test1():
l = []
for i in range(1000):
l = l +[i]
# “append” 方式
def test2():
l = []
for i in range(1000):
l.append(i)
# 列表推导式
def test3():
l = [i for i in range(1000)]
# list()方法
def test4():
l = list(range(1000))
# 1.3765327
t1 = Timer("test1()", "from __main__ import test1")
print(t1.timeit(number=1000))
# 0.05519019999999997
t2 = Timer("test2()", "from __main__ import test2")
print(t2.timeit(number=1000))
# 0.028147000000000144
t3 = Timer("test3()", "from __main__ import test3")
print(t3.timeit(number=1000))
# 0.009126500000000037
t4 = Timer("test4()", "from __main__ import test4")
print(t4.timeit(number=1000))