关于Python中的向量相加和numpy中的向量相加效率对比
直接使用Python来实现向量的相加
#-*-coding:utf-8-*- #向量相加 defpythonsum(n): a=range(n) b=range(n) c=[] foriinrange(len(a)): a[i]=i**2 b[i]=i**3 c.append(a[i]+b[i]) returna,b,c printpythonsum(4),type(pythonsum(4)) forarginpythonsum(4): printarg
从这里这个输出结果可以看得出来,return多个值时,是以列表的形式返回的
([0,1,4,9],[0,1,8,27],[0,2,12,36])[0,1,4,9] [0,1,8,27] [0,2,12,36]
使用numpy包实现两个向量的相加
defnumpysum(n): a=np.arange(n)**2 b=np.arange(n)**3 c=a+b returna,b,c
(array([0,1,4,9]),array([0,1,8,27]),array([0,2,12,36]))[0149] [01827] [021236]
比较用Python实现两个向量相加和用numpy实现两个向量相加的情况
size=1000 start=datetime.now() c=pythonsum(size) delta=datetime.now()-start #print'Thelast2elementsofthesum',c[-2:] print'pythonSumelapsedtimeinmicroseconds',delta.microseconds size=1000 start1=datetime.now() c1=numpysum(size) delta1=datetime.now()-start1 #print'Thelast2elementsofthesum',c1[-2:] print'numpySumelapsedtimeinmicroseconds',delta1.microseconds
从下面程序运行结果我们可以看到在处理向量是numpy要比Python计算高出不知道多少倍
pythonSumelapsedtimeinmicroseconds1000 numpySumelapsedtimeinmicroseconds0
以上这篇关于Python中的向量相加和numpy中的向量相加效率对比就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。