自写函数bb_sorted()
其中,值得注意的
setup变量的使用
stackoverflow问题: how-to-use-timeit-module
# -*- coding: utf-8 -*-
#!/bin/env python
# def test1():
# n=0
# for i in range(101):
# n+=i
# return n
# def test2():
# return sum(range(101))
# def test3():
# return sum(x for x in range(101))
setup='''
import random
l=[]
for x in range(100):
l.append(random.randint(1,100))
def bb_sorted(l):
for i in range(len(l)-1):
for j in range(i,len(l)):
if l[i] >= l[j] :
l[i],l[j]=l[j],l[i]
return l
'''
if __name__=='__main__':
from timeit import Timer
# t1=Timer("test1()","from __main__ import test1")#两个参数都是字符串。 第一个参数是你要计时的语句或者函数。
# t2=Timer("test2()","from __main__ import test2")#传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句。
# t3=Timer("test3()","from __main__ import test3")
# print t1.timeit(1000000)#默认为一百万次;返回所耗费的秒数。
# print t2.timeit(1000000)
# print t3.timeit(1000000)
# print t1.repeat(3,1000000)#两个参数都是可选的,它们的默认值分别是 3 和 1000000。
# print t2.repeat(3,1000000)
# print t3.repeat(3,1000000)
t1=Timer("bb_sorted(l)",setup)
t2=Timer("sorted(l)",setup)
print(t2.timeit(100000))
print(t1.timeit(10))