Python对三个数字排序的问题
以下程序为三个数字的排序,并计算所用时间。
#!/usr/bin/env python
def test1(x1=8,x2=5,x3=10,order=None):
”’ default is ascending order ”’
temp1=x1
temp2=x2
temp3=x3
if temp1 > temp2:
temp1, temp2 = temp2, temp1
if temp2 > temp3:
temp2, temp3 = temp3, temp2
if temp1 > temp2:
temp1, temp2 = temp2, temp1
if order is None:
return [temp1, temp2, temp3]
else:
return [temp3, temp2, temp1]
def test2(x1=8,x2=5,x3=10,order=None):
”’ ”’
temp=[x1,x2,x3]
if order is None:
temp.sort()
else:
temp.reverse()
return temp
#print test1(3,5,8)
#print test2(3,5,8)
if __name__ == “__main__”:
from timeit import Timer
t2 = Timer(“test2(30,5,10)”, “from __main__ import test2”)
print “test2:”,t2.timeit(100000)
t1 = Timer(“test1(30,5,10)”, “from __main__ import test1”)
print “test1:”,t1.timeit(100000)
测试结果:
test2: 0.100798844546
test1: 0.109590185345