# 用列表实现循环,并包装成函数,用numpy实现,并包装成函数,对比两种方法实现的效率 # 用列表实现循环 def pySum(n): a=list(range(10)) b=list(range(0,60,6)) c=[] for i in range(len(a)):#循环的时候,长度和列表a一样 c.append(a[i]**2+b[i]**3)#在空列表c中增加a列表遍历的数*2+b列表遍历的数*3,考虑的是数列的a^2+b^3 return (c)#注意对齐 print(pySum(1))#无论打印的n 值为多少,就会输出多少组数。 # 用numpy实现,并包装成函数 import numpy def npSum(n): a=numpy.arange(10)#range()和arange()函数的区别range(star,stop,step)其为前后步长所限定,arange(star,stop,step)制指定范围,可设置浮点数 m=numpy.arange(10) b=numpy.arange(0,60,6) c=a+b return (c) print(npSum(10)) 对比两种方法实现的效率 def pySum(n): a=list(range(n)) b=list(range(0,5*n,5)) c=[] for i in range(len(a)):#循环的时候,长度和列表a一样 c.append(a[i]**2+b[i]**3)#在空列表c中增加a列表遍历的数*2+b列表遍历的数*3 return (c)#注意对齐 print(pySum(10))#无论打印的n 值为多少,都只会输出10组数
def npSum(n): a=list(range(n)) b=list(range(0,5*n,5)) c=[] for i in range(len(a)):#循环的时候,长度和列表a一样 c.append(a[i]**2+b[i]**3)#在空列表c中增加a列表遍历的数*2+b列表遍历的数*3 return (c)#注意对齐 print(pySum(1))#无论打印的n 值为多少,都只会输出10组数 from datetime import datetime start=datetime.now() pySum(2000000) delta=datetime.now()-start print(delta) start=datetime.now() npSum(2000000)#数目越大,所用时间越长 delta=datetime.now()-start print(delta)
#numpy多维数组的效率对比
def shulie(n): a=list(range(n)) b=list(range(0,5*n,5)) c=[] for i in range(n): c.append(a[i]**2+b[i]**3) for j in range(n): c.append(a[j]**2+b[j]**3) for k in range(n): c.append(a[k]**2+b[k]**3) return(c) print(shulie(10)) import numpy def npSum(n): a=numpy.arange(10)#range()和arange()函数的区别range(star,stop,step)其为前后步长所限定,arange(star,stop,step)制指定范围,可设置浮点数 m=numpy.arange(10) b=numpy.arange(0,60,6) c=numpy.array([[a,b],[a**2,b**3]]) return (c) print(npSum(10)) # 效率对比 from datetime import datetime start=datetime.now() shulie(2000000) delta=datetime.now()-start print(delta) start=datetime.now() npSum(2000000)#数目越大,所用时间越长 delta=datetime.now()-start print(delta)