Python自带数据结构的运行效率
2017-06-03 11:14
1126 查看
1.List:
def test1():
l = []
for i in range(1000):
l = l + [i]
def test2():
l = []
for i in range(1000):
l.append(i)
def test3():
l = [i for i in range(1000)]
def test4():
l = list(range(1000))
import timeit
from timeit import Timer
if __name__=="__main__":
t1 = Timer("test1()", "from __main__ import test1")
print("concat ",t1.timeit(number=1000), "milliseconds")
t2 = Timer("test2()", "from __main__ import test2")
print("append ",t2.timeit(number=1000), "milliseconds")
t3 = Timer("test3()", "from __main__ import test3")
print("comprehension ",t3.timeit(number=1000), "milliseconds")
t4 = Timer("test4()", "from __main__ import test4")
print("list range ",t4.timeit(number=1000), "milliseconds")
运行结果:
>>>
RESTART: D:\Program Files\Python\test\algorithms\data structure and problem solving by python\2-List.py
concat 1.5390356234120435 milliseconds
append 0.16744655181905288 milliseconds
comprehension 0.04742712544752048 milliseconds
list range 0.022613714719721845 milliseconds
>>>
pop_zero = Timer("x.pop(0)","from __main__ import x")
pop_end = Timer("x.pop()","from __main__ import x")
x = list(range(2000000))
print(pop_zero.timeit(number=1000))
x = list(range(2000000))
print(pop_end.timeit(number=1000))
2.Dictionaries
def test1():
l = []
for i in range(1000):
l = l + [i]
def test2():
l = []
for i in range(1000):
l.append(i)
def test3():
l = [i for i in range(1000)]
def test4():
l = list(range(1000))
import timeit
from timeit import Timer
if __name__=="__main__":
t1 = Timer("test1()", "from __main__ import test1")
print("concat ",t1.timeit(number=1000), "milliseconds")
t2 = Timer("test2()", "from __main__ import test2")
print("append ",t2.timeit(number=1000), "milliseconds")
t3 = Timer("test3()", "from __main__ import test3")
print("comprehension ",t3.timeit(number=1000), "milliseconds")
t4 = Timer("test4()", "from __main__ import test4")
print("list range ",t4.timeit(number=1000), "milliseconds")
运行结果:
>>>
RESTART: D:\Program Files\Python\test\algorithms\data structure and problem solving by python\2-List.py
concat 1.5390356234120435 milliseconds
append 0.16744655181905288 milliseconds
comprehension 0.04742712544752048 milliseconds
list range 0.022613714719721845 milliseconds
>>>
pop_zero = Timer("x.pop(0)","from __main__ import x")
pop_end = Timer("x.pop()","from __main__ import x")
x = list(range(2000000))
print(pop_zero.timeit(number=1000))
x = list(range(2000000))
print(pop_end.timeit(number=1000))
1.5236582787413726 0.00023699800044640895
2.Dictionaries
相关文章推荐
- python常用的数据结构运行效率分析
- java python php 经典开发流程 开发效率 运行效率&并发&可扩展
- “带锁的门”问题,并有c语言和python代码运行效率对比
- 提高Python运行效率的六个窍门
- 提高 Python 运行效率的几个方法
- python︱Python进程、线程、协程详解、运行性能、效率(tqdm)
- Python 不是 Java (提高python运行效率的一些编程规范)
- 如何提高python的运行效率/缩短运行时间
- 六个窍门助你提高Python运行效率
- 六个窍门助你提高Python运行效率
- python学习五:执行linux命令的两种方法、提高运行效率、进制转换、切片详解、ip和mac获取
- 探究数组排序提升Python程序的循环的运行效率的原因
- 提升Python程序运行效率的6个方法
- 提高Python运行效率的六个窍门
- 提高Python运行效率的六个窍门
- python实例:用python自带模块Kinter模拟window的运行窗口
- python知识点(二):replace和re.sub运行效率比较
- 提高Python运行效率的六个窍门
- 通过计算python执行时间,来提升程序的运行效率
- Python 运行效率为何低