关于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使用Flask框架同时上传多个文件的方法
Mar 21 Python
Python用threading实现多线程详解
Feb 03 Python
Django中的文件的上传的几种方式
Jul 23 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
对django中render()与render_to_response()的区别详解
Oct 16 Python
Python中Proxypool库的安装与配置
Oct 19 Python
Python中typing模块与类型注解的使用方法
Aug 05 Python
python获取Linux发行版名称
Aug 30 Python
python使用建议技巧分享(三)
Aug 18 Python
django中ImageField的使用详解
Dec 21 Python
Python获取百度热搜的完整代码
Apr 07 Python
OpenCV绘制圆端矩形的示例代码
Aug 30 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+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
Javascript----文件操作
2007/01/18 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
克隆javascript对象的三个方法小结
2011/01/12 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
初识SmartJS - AOP三剑客
2014/06/08 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
jQuery插件HighCharts绘制2D半圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
python实现将元祖转换成数组的方法
2015/05/04 Python
tensorflow使用神经网络实现mnist分类
2018/09/08 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
opencv调整图像亮度对比度的示例代码
2019/09/27 Python
详解django使用include无法跳转的解决方法
2020/03/19 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
酒店led欢迎词
2014/01/09 职场文书
期末自我鉴定
2014/01/23 职场文书
校园文化建设方案
2014/02/03 职场文书
安全教育月活动总结
2014/05/05 职场文书
检察院起诉书
2015/05/20 职场文书
先进基层党组织主要事迹材料
2015/11/03 职场文书