zoukankan      html  css  js  c++  java
  • numpy数组及处理:效率对比

    • 数列:
    • a = a1,a2,a3,·····,an
    • b = b1,b2,b3,·····,bn
    • 求:
    • c = a12+b13,a22+b23,a32+b33,·····+an2+bn3

    1.用列表+循环实现,并包装成函数

    2.用numpy实现,并包装成函数

    3.对比两种方法实现的效率,给定一个较大的参数n,用运行函数前后的timedelta表示。

    #列表+循环 实现,并包装成一个函数
    def mysum(n):
        d = list(range(n))
        b = list(range(0,5*n,5))
        c= []
        for i in range(len(d)):
            c.append(d[i]**2 + b[i]**3)
        return(c)
    
    print(mysum(10))
    #用numpy直接相加
    import numpy
    def npsum(n):
       a = numpy.arange(n)
       b = numpy.arange(n)
       c = a**2+b**3
       return c
    print(npsum(10))
    
    from datetime import  datetime
    start = datetime.now()
    mysum(1000000)
    dalta =datetime.now()-start
    print(dalta)
    
    
    start = datetime.now()
    npsum(1000000)
    delta = datetime.now()-start
    print(delta)
    

      运行结果:

  • 相关阅读:
    npm install --save
    ajax总结
    javascript学习资料
    前端工具学习资料
    php学习资料
    Bootstrap学习资料
    css学习资料
    Express搭建一个Node项目
    网站性能优化
    POJ 1862 Stripies【哈夫曼/贪心/优先队列】
  • 原文地址:https://www.cnblogs.com/miehahaha/p/9728726.html
Copyright © 2011-2022 走看看