美文网首页
Python 求一个列表的最小值

Python 求一个列表的最小值

作者: Golden_humble | 来源:发表于2018-06-17 22:44 被阅读0次
    def findMin(alist):
        start = time.time()
        findMin = alist[0];
        for i in range(1,len(alist)):
            if alist[i] < findMin:
                findMin = alist[i]
        end = time.time()
        return findMin,end-start
    

    结果如下:

    for i in range(5):
        print("the minimum is %d, the process required %10.7f seconds"%(findMin(list(random.randint(1,100) for i in range(1000000)))))
        
    the minimum is 1, the process required  0.1043806 seconds
    the minimum is 1, the process required  0.0833511 seconds
    the minimum is 1, the process required  0.1031568 seconds
    the minimum is 1, the process required  0.1031709 seconds
    the minimum is 1, the process required  0.0906184 seconds
    

    函数改进一下:

    def findMin(alist):
        start = time.time()
        findMin = alist[0];
        for i in alist:
            if i < findMin:
                findMin = i
        end = time.time()
        return findMin,end-start
    

    因为python 中for循环可以对元素进行遍历,所以可以这样写。
    结果如下:

    for i in range(5):
        print("the minimum is %d, the process required %10.7f seconds"%(findMin_1(list(random.randint(1,100) for i in range(1000000)))))
        
    the minimum is 1, the process required  0.0530787 seconds
    the minimum is 1, the process required  0.0150602 seconds
    the minimum is 1, the process required  0.0606675 seconds
    the minimum is 1, the process required  0.0580323 seconds
    the minimum is 1, the process required  0.0625741 seconds
    

    运行时间比上一种方法要短。

    相关文章

      网友评论

          本文标题:Python 求一个列表的最小值

          本文链接:https://www.haomeiwen.com/subject/qbrgeftx.html