关于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脚本实现代码行数统计代码分享
Mar 10 Python
Python闭包实现计数器的方法
May 05 Python
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
视觉直观感受若干常用排序算法
Apr 13 Python
python执行系统命令后获取返回值的几种方式集合
May 12 Python
pandas.DataFrame选取/排除特定行的方法
Jul 03 Python
在python中使用with打开多个文件的方法
Jan 07 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
Feb 06 Python
python对指定字符串逆序的6种方法(小结)
Apr 02 Python
python 数据库查询返回list或tuple实例
May 15 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
Docker如何部署Python项目的实现详解
Oct 26 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
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
利用PHP如何统计Nginx日志的User Agent数据
2019/03/06 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
js中的json对象详细介绍
2014/10/29 Javascript
angular.js分页代码的实例
2016/07/27 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
《javascript少儿编程》location术语总结
2018/05/27 Javascript
vue ssr 指南详读
2018/06/29 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
记录Django开发心得
2014/07/16 Python
Python学习之Anaconda的使用与配置方法
2018/01/04 Python
python中的json总结
2018/10/11 Python
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
2014年六一儿童节演讲稿
2014/05/23 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
虎兄虎弟观后感
2015/06/12 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
用python批量解压带密码的压缩包
2021/05/31 Python