# 用列表实现循环,并包装成函数,用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)
