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

发表评论

邮箱地址不会被公开。 必填项已用*标注

机器人检查 *

分享我的最新文章标题到这里

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据