千家信息网

Python和numpy中的向量相加哪个效率比较高

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要讲解了"Python和numpy中的向量相加哪个效率比较高",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python和numpy中的向量相
千家信息网最后更新 2025年01月20日Python和numpy中的向量相加哪个效率比较高

这篇文章主要讲解了"Python和numpy中的向量相加哪个效率比较高",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Python和numpy中的向量相加哪个效率比较高"吧!

直接使用Python来实现向量的相加

# -*-coding:utf-8-*-#向量相加def pythonsum(n): a = range(n) b = range(n) c = [] for i in range(len(a)):  a[i] = i**2  b[i] = i**3  c.append(a[i]+b[i]) return a,b,cprint pythonsum(4),type(pythonsum(4))for arg in pythonsum(4): print arg

从这里这个输出结果可以看得出来,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包实现两个向量的相加

def numpysum(n): a = np.arange(n) ** 2 b = np.arange(n) ** 3 c = a + b return a,b,c
(array([0, 1, 4, 9]), array([ 0, 1, 8, 27]), array([ 0, 2, 12, 36])) [0 1 4 9][ 0 1 8 27][ 0 2 12 36]

比较用Python实现两个向量相加和用numpy实现两个向量相加的情况

size = 1000start = datetime.now()c = pythonsum(size)delta = datetime.now() - start# print 'The last 2 elements of the sum',c[-2:]print 'pythonSum elapsed time in microseconds',delta.microsecondssize = 1000start1 = datetime.now()c1 = numpysum(size)delta1 = datetime.now() - start1# print 'The last 2 elements of the sum',c1[-2:]print 'numpySum elapsed time in microseconds',delta1.microseconds

从下面程序运行结果我们可以看到在处理向量是numpy要比Python计算高出不知道多少倍

pythonSum elapsed time in microseconds 1000numpySum elapsed time in microseconds 0

感谢各位的阅读,以上就是"Python和numpy中的向量相加哪个效率比较高"的内容了,经过本文的学习后,相信大家对Python和numpy中的向量相加哪个效率比较高这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0