python数组操作

javascript函数和内置对象

 ̄綄美尐妖づ 提交于 2019-12-27 09:28:08
javascript函数 1.普通函数定义 function f1() { console.log("today is good"); } f1(); #today is good 2.带参数的函数 function f1(a,b) { console.log(a); console.log(a+b); console.log("today is good"); } f1(2,3); #2 5 today is good sum("3",4); //3 34 today is good 3.带返回值的函数 function f1(a,b) { console.log(a); console.log(a+b); console.log("today is good"); } #没有设定返回值 var ret=f1(2,3); console.log(ret); #2 5 today is good undefined(定义了变量,但变量没有被复制,默认为undefined) ##在函数中加return## function f1(a,b) { console.log(a); console.log(a+b); console.log("today is good"); return "有返回值"; } var ret=f1(2,3); console.log(ret); #2 5

Numpy

时间秒杀一切 提交于 2019-12-27 07:22:10
ndarray的优势—为什么快? 存储空间连续,访问速度快 可以并行执行-Numpy底层使用C语言编写,内部解除了GIL(全局解释器锁),其对数组的操作速度不受Python解释器的限制,所以,其效率远高于纯Python代码。 numpy基于矩阵,矩阵可以分块计算,所以可以实现并行 ndarray的属性 Shape—形状—注意:返回的是元组 ndim—维度的个数—就是shape的长度 size—元素个数=shape的各个值想乘 dtype—元素的类型 ndarray的形状 生成数组的方法 生成0和1的数组 np.ones(shape) np.ones_like(array)—根据给定数组生成一个形状一样的数组 np.zeros np.zeros_like 从现有数组生成 np.array--深拷贝 np.asarray--浅拷贝 生成固定范围的数组 np.linspace—start,stop,num 在star到stop之间等区间的选取num个数,注意:一定可以去到stop np.arange(start,stop,step) 以start未开始,每隔step取一个值 stop肯定取不到(左闭右开) 等于python的range np.logspace(start,stop,num) 以10为低的指数值,等比 生成随机数组 均匀分布 np.random.rand—0

快排

独自空忆成欢 提交于 2019-12-27 02:30:41
快排介绍: 快排简单而言就是在数组中选取一个基准值。将小于基准值的放左边(或者放右边),大于基准值的放右边(或者放左边),分成两个数组。 再对得到的左右两个数组分别重复上述操作。这样若干轮下来我们会得到只有1个或0个元素的数组这种最基本情况。那不用排序直接返回即可。 举个例子: 【5,8,12,4,7,2,7】 我们计算的方法是这样的 1.选取基准值(可以按照一定的规则选取,或者随机选取,我们就直接选取第一个元素【5】吧) 2.切分得到两个数组(基准值单独提出来,我们就当不算数组)【4,2】(5)【8,12,7,7】 3.对左边数组重复1,2步骤得到【2】(4)【】 4,再对3得到的左边元素重复1,2步骤。因为3得到的两个数组只有1或0个元素,所以不用排序直接返回。得到【2,4】从而小于【5】的部分就排序完成了。退栈到第二步,执行右边的排序操作。同理就可以把大于5的部分也排序完成。 具体生成应该如下: 【5,8,12,4,7,2,7】 【4,2】(5)【8,12,7,7】 【2】(4)【】(5)【8,12,7,7】 【2】(4)【】(5)【7,7】(8)【12】 【2】(4)【】(5)【7】(7)【】(8)【12】 本质上快排是一种大事化小的分治思想。需要用到递归的方法。我认为这里有两种数组类型的快排。动态数组(非原地快排),以及非动态数组(原地快排) 一.动态数组快排

numpy的使用说明(一)

我怕爱的太早我们不能终老 提交于 2019-12-26 17:34:02
1、numpy的简介 numpy是"Numerical Python"的简称。 numpy提供了一个高性能的多维数组对象ndarray(N Dimension Array),以及大量的库函数和操作,可以帮助程序员轻松地进行数值计算。 原生python语言执行速度很慢,C执行500次,python差不多只能执行一次,但是python语法比其它编程语言要简单的多得多。因此我们既想要某一个编程语言执行速快,同时还编程简单。最终python通过集成C和C++,最终解决这个问题,也就是说:底层运行的是C和C++的代码,但是上层使用的是python语言去写的。这就是我们为什么都喜欢使用"numpy库"的原因。 numpy作为很多的用来做数据挖掘,数据分析,人工智能相关的技术组件的底层实现。像SciPy、Matplotlib、Scikit-learn在一定程度上,都需要依赖numpy。 2、学习numpy的套路 学习怎么使用numpy组织数据 (怎么创建出,你想要的不同维度,不同形状的数组) :numpy提供了一个高性能的多维数组对象:ndarray。 学习numpy提供的函数处理这个组好的数据:numpy提供了很多很多的库函数,帮助我们处理这些数据。 3、关于numpy中ndarray数据对象的结构说明 numpy中最重要的数据结构是称为ndarray的n维数组对象,这个对象由两部分构成: 1

补充JavaScript

别来无恙 提交于 2019-12-26 07:26:59
1 JavaScript概述 1.1 ECMAScript和Javascript的关系   1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。   该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。   因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 1.2 ECMAScript的历史 注:ES6就是指ECMAScript 6。 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM) Document object model (整合js,css,html)

np.concatenate详解和Numpy中的轴

拟墨画扇 提交于 2019-12-26 06:57:00
np.concatenate和Numpy中的轴 concatenate((a1, a2, ...), axis=0) 沿着指定的轴将指定的数组序列进行拼接 注意 :要拼接的原数组形状除了指定的拼接轴可以不同外,其他轴的形状必须都要相同 第一个参数 必须是一个多个数组的 元组 或者 列表 第二个参数 默认是 axis = 0,即按数组的0轴进行纵向的拼接注:一般axis = 0,就是对该轴向的数组进行操作。 NUMPY ARRAY AXES以’0’开头 NumPy中的数组轴是编号的,从0开始类似于Python中元组,列表,字符串的索引 在Numpy中的函数使用轴 建议 :注意轴参数控制的内容 在np.sum(),np.mean(),np.min(),np.median()和其他统计函数会聚合您的数据(即,当您在带有axis参数的二维数组上使用np.sum()时,它会将二维数组折叠为一维数组。它会折叠数据并减少维度) 将Numpy函数与axis参数一起使用时,指定的轴是折叠的轴 np_array_2d = np.arange(0, 6).reshape([2,3]) print(np_array_2d) [[0 1 2] [3 4 5]] np.sum(np_array_2d, axis = 0) 输出:array([3, 5, 7]) 当我们设置axis = 0时

Numpy基础知识

别等时光非礼了梦想. 提交于 2019-12-26 06:11:25
Numpy 基础知识 ndarray数组和list列表分别完成对每个元素增加1的计算 # https://aistudio.baidu.com/aistudio/projectdetail/225067 # ndarray数组和list列表分别完成对每个元素增加1的计算 # Python原生的list # 假设有两个list a = [ 1 , 2 , 3 , 4 , 5 ] b = [ 2 , 3 , 4 , 5 , 6 ] # 完成如下计算 # 1 对a的每个元素 + 1 # a = a + 1 不能这么写,会报错 # a[:] = a[:] + 1 也不能这么写,也会报错 for i in range ( 5 ) : a [ i ] = a [ i ] + 1 a [2, 3, 4, 5, 6] # 使用ndarray import numpy as np a = np . array ( [ 1 , 2 , 3 , 4 , 5 ] ) a = a + 1 a array([2, 3, 4, 5, 6]) # ndarray数组和list列表分别完成相加计算 # 2 计算 a和b中对应位置元素的和,是否可以这么写? a = [ 1 , 2 , 3 , 4 , 5 ] b = [ 2 , 3 , 4 , 5 , 6 ] c = a + b # 检查输出发现,不是想要的结果 c

Numpy的基础知识

我怕爱的太早我们不能终老 提交于 2019-12-26 01:29:05
文章目录 Numerical Python介绍 基础数据结构ndarray数组 为什么引入ndarray数组 ndarray数组和list列表分别完成对每个元素增加1的计算 ndarray数组和list列表分别完成相加计算 如何创建ndarray数组 查看ndarray数组的属性 改变ndarray数组的数据类型和形状 ndarray数组的基本运算 标量和ndarray数组之间的运算 两个ndarray数组之间的运算 ndarray数组的索引和切片 ndarray数组的统计运算 随机数np.random 创建随机ndarray数组 设置随机数种子 随机打乱ndarray数组顺序 随机选取元素 线性代数 Numpy保存和导入文件 Numpy应用举例 Numpy应用举例——计算激活函数 Numpy应用举例——图像翻转和裁剪 课程作业 1 使用numpy计算tanh激活函数 2 统计随机生成矩阵中有多少个元素大于0 Numerical Python介绍 Numpy是Numerical Python的简称,是Python中高性能科学计算和数据分析的基础包。Numpy提供了一个多维数组类型ndarray,它具有矢量算术运算和复杂广播的能力,可以实现快速的计算并且能节省存储空间。在使用Python调用飞桨API完成深度学习任务的过程中,通常会使用Numpy实现数据预处理和一些模型指标的计算

前端基础之JavaScript

微笑、不失礼 提交于 2019-12-25 19:04:45
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更 2015 ECMAScript 6

牢记数据结构的时间复杂度 #P004#

人走茶凉 提交于 2019-12-24 21:37:09
虽然大多数情况下,Python程序都不会应用在计算密集型的场景。但是,作为一个合格的工程师,依然应该对Python内置数据类型的时间复杂度有一个基本的了解,才能够避免写出一些明显低效的代码。打个比方,我们都知道,在Python里面list是异构元素的集合,并且能够动态增长或收缩,可以通过索引和切片访问。那么,又有多少人知道,list是一个数组而不是一个链表呢。 1 时间复杂度的重要性 算法的时间复杂度是用来度量算法的运行时间,算法的空间复杂度用来度量程序占用的内存,这两个都是计算机系统中非常重要的概念。它们直接关乎程序的运行效率,其重要程度怎么强调都不为过。在这一小节中,我们将通过一个Python字符串连接的例子,来解释说明程序的时间复杂度和空间复杂度的重要性。 合格的Python工程师应该知道,Python中的字符串是不可变的。因为Python中的字符串是不可变的,在进行字符串操作时,Python每次操作都会产生一个新的字符串,新的字符串会占用一块独立的内存。因此,在操作字符串时,应该避免产生太多的中间结果。例如,下面就是一个典型的反面教材: In [1]: fruits = ['orange', 'apple', 'banana', 'pear'] In [2]: statement = fruits[0] In [3]: for item in fruits[1:]: ...