关于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 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
Python中functools模块函数解析
Mar 12 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
Python实现计算字符串中出现次数最多的字符示例
Jan 21 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
Sep 11 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
Jan 06 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
Feb 07 Python
浅析python表达式4+0.5值的数据类型
Feb 26 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 Python
利用For循环遍历Python字典的三种方法实例
Mar 25 Python
python如何为list实现find方法
May 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开发过程中关于继承的使用方法分享
2011/06/17 PHP
PHP面向对象学习笔记之一 基础概念
2012/10/06 PHP
PHP微信开发之二维码生成类
2015/06/26 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
laravel ORM 只开启created_at的几种方法总结
2018/01/29 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
innertext , insertadjacentelement , insertadjacenthtml , insertadjacenttext 等区别
2007/06/29 Javascript
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
jQuery使用animate创建动画用法实例
2015/08/07 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
2018/05/06 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
详解vue 自定义marquee无缝滚动组件
2019/04/09 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
使用PYTHON创建XML文档
2012/03/01 Python
在服务器端实现无间断部署Python应用的教程
2015/04/16 Python
Python装饰器用法与知识点小结
2020/03/09 Python
canvas实现图片马赛克的示例代码
2018/03/26 HTML / CSS
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
喝酒检查书范文
2014/02/23 职场文书
优质服务演讲稿
2014/05/14 职场文书
浅谈pytorch中的dropout的概率p
2021/05/27 Python
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
Android Rxjava3 使用场景详解
2022/04/07 Java/Android