关于Python中的向量相加和numpy中的向量相加效率对比
作者:boyan_RF 发布时间:2022-09-30 04:22:44
标签: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
来源:https://blog.csdn.net/zhongjunlang/article/details/78137802


猜你喜欢
- 如果你是个赛车手,并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是什么感觉呢?MySQL数据库为开发人员所做的就好像是按按
- 一、Python中的对象Python中一切皆是对象。————Guido van Rossum(1989)这句话只要你学过python,你就很
- PSUtil是一个跨平台的Python库,用于检索有关正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。它可以跨平台使用
- ASP错误大全 Microsoft VBScript语法错误(0x800A03E9)-->内存不足 Microsoft VBScript语法
- 模拟栈Stack() 创建一个空的新栈。 它不需要参数,并返回一个空栈。push(item)将一个新项添加到栈的顶部。它需要 item 做参
- threading.Timer一次timer只生效一次,不会反复循环,如果实现循环触发,代码如下:import timeimport thr
- 摘录 – Parse JavaScript SDK现在提供了支持大多数异步方法的兼容jquery的Promises模式,那么这意味着什么呢,
- 示例.1import randomfrom random import shufflex = [[i] for i in range(10)
- 1、检查数据库完整性dbcc checkdb(test)--通过加tablock提高速度 dbcc checkdb(test) with t
- 主要代码如下: total = application("All
- 在进行keras 网络计算时,有时候需要获取输入张量的维度来定义自己的层。但是由于keras是一个封闭的接口。因此在调用由于是张量不能直接用
- 本文实例讲述了Java操作Mysql的方法。分享给大家供大家参考。具体分析如下:不同于C#操纵数据库的千篇一律,如果是要Java把操纵数据库
- 一看,C盘只有不到2M可用空间,一查原因,sqlserver安装路径下的log目录文件占了好大,5G多, 于是上网搜了下,解决了: 把与sq
- Pandas类似R语言中的数据框(DataFrame),Pandas基于Numpy,但是对于数据框结构的处理比Numpy要来的容易。1. P
- 介绍go1.5+版本提供编译好的安装包,我们只需要解压到相应的目录,并添加一些环境变量的配置即可。Go语言的安装步骤
- pipe.go分析:这个文件使用到了errors包,也是用到了sync库.文件说明:pipe是一个适配器,用于连接Reader和Writer
- Django使用mysqlclient服务连接并写入数据库准备1.创建Django程序,安装Django服务(详情请看上上节)2.创建子应用
- vue中form data形式传参vue项目中form data形式传参,需要在headers中添加如下代码headers: {  
- 我就废话不多说了,大家还是直接看代码吧~import pandas as pdimport numpy as npcolumns = [[&
- python 批量添加的button 使用同一点击事件根据传递的参数进行区分。def clear_text():print '我只是