排序函数比较

2015-07-08  本文已影响14人  大飞哥

自写函数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))
上一篇下一篇

猜你喜欢

热点阅读