关于Python中的向量相加和numpy中的向量相加效率对比
更新时间:2019年08月26日 16:33:03 作者:boyan_RF
今天小编就为大家分享一篇关于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,c print 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]) <type 'tuple'> [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])) <type 'function'> [0 1 4 9] [ 0 1 8 27] [ 0 2 12 36]
比较用Python实现两个向量相加和用numpy实现两个向量相加的情况
size = 1000 start = 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.microseconds size = 1000 start1 = 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 1000 numpySum elapsed time in microseconds 0
以上这篇关于Python中的向量相加和numpy中的向量相加效率对比就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python开发时报TypeError: ‘int‘ object is not iterable错误的解决方
Python写循环程序的时候遇到TypeError:'int'object is not iterable,所以下面这篇文章主要给大家介绍了关于Python开发时报TypeError:'int' object is not iterable错误的解决方式,需要的朋友可以参考下2022-06-06
PyQt5 关于Qt Designer的初步应用和打包过程详解
Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时查看控件效果。这篇文章主要介绍了PyQt5 关于Qt Designer的初步应用和打包,需要的朋友可以参考下2021-09-09


最新评论