关于Python中的向量相加和numpy中的向量相加效率对比


Posted in Python onAugust 26, 2019

直接使用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 相关文章推荐
Python读取环境变量的方法和自定义类分享
Nov 22 Python
详解Python3中的迭代器和生成器及其区别
Oct 09 Python
Python面向对象之类和实例用法分析
Jun 08 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 Python
Python之——生成动态路由轨迹图的实例
Nov 22 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
NumPy统计函数的实现方法
Jan 21 Python
基于Pytorch SSD模型分析
Feb 18 Python
python GUI库图形界面开发之PyQt5浏览器控件QWebEngineView详细使用方法
Feb 26 Python
python GUI库图形界面开发之PyQt5时间控件QTimer详细使用方法与实例
Feb 26 Python
浅谈keras中loss与val_loss的关系
Jun 22 Python
python regex库实例用法总结
Jan 03 Python
python中sort和sorted排序的实例方法
Aug 26 #Python
对Python 中矩阵或者数组相减的法则详解
Aug 26 #Python
Numpy 中的矩阵求逆实例
Aug 26 #Python
利用python-docx模块写批量生日邀请函
Aug 26 #Python
在python Numpy中求向量和矩阵的范数实例
Aug 26 #Python
Python 如何提高元组的可读性
Aug 26 #Python
Python使用python-docx读写word文档
Aug 26 #Python
You might like
PHP中trait使用方法详细介绍
2017/05/21 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
JS 控制CSS样式表
2009/08/20 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
bootstrap选项卡扩展功能详解
2017/06/14 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
Express系列之multer上传的使用
2017/10/27 Javascript
浅析JavaScript中的特殊数据类型
2017/12/15 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
vue-cli 3 全局过滤器的实例代码详解
2019/06/03 Javascript
微信小程序sessionid不一致问题解决
2019/08/30 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
python数据结构树和二叉树简介
2014/04/29 Python
Python的迭代器和生成器
2015/07/29 Python
将python代码和注释分离的方法
2018/04/21 Python
Pipenv一键搭建python虚拟环境的方法
2018/05/22 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
解决django前后端分离csrf验证的问题
2019/02/03 Python
pytorch下大型数据集(大型图片)的导入方式
2020/01/08 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
新手学python应该下哪个版本
2020/06/11 Python
Python实现验证码识别
2020/06/15 Python
英国精品买手店:Browns Fashion
2016/09/29 全球购物
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
Lentiamo荷兰:在线订购隐形眼镜、隐形眼镜液和太阳镜
2019/10/25 全球购物
会计电算化学生个人的自我评价
2014/02/08 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
护士年终考核评语
2014/12/31 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书