python数组操作

【Python学习之路】Numpy 数组及其索引

。_饼干妹妹 提交于 2019-12-15 21:56:19
Numpy 数组及其索引 先导入numpy: from numpy import * 产生数组 从列表产生数组: lst = [ 0 , 1 , 2 , 3 ] a = array ( lst ) a array([0, 1, 2, 3]) 或者直接将列表传入: a = array ( [ 1 , 2 , 3 , 4 ] ) a array([1, 2, 3, 4]) 数组属性 查看类型: type ( a ) numpy.ndarray 查看数组中的数据类型: # 32比特的整数 a . dtype dtype('int32') 查看每个元素所占的字节: a . itemsize 4 查看形状,会返回一个元组,每个元素代表这一维的元素数目: # 1维数组,返回一个元组 a . shape (4L,) 或者使用: shape ( a ) (4L,) shape 的使用历史要比 a.shape 久,而且还可以作用于别的类型: lst = [ 1 , 2 , 3 , 4 ] shape ( lst ) (4L,) 查看元素数目: a . size 4 size ( a ) 4 查看所有元素所占的空间: a . nbytes 16 但事实上,数组所占的存储空间要比这个数字大,因为要用一个header来保存shape,dtype这样的信息。 查看数组维数: a . ndim 1

Summary 2019.12.13

断了今生、忘了曾经 提交于 2019-12-13 21:13:17
程序设计语言 FORTRAN:第一个广泛应用于科学计算的高级语言。其大部分代码都可直接使用硬件结构实现,因此执行效率高。 ALOGOL:有严格的文档规则(使用BNF描述),是一个分程序结构的语言。每个分程序由BEGIN…END括起来,说明其范围及名字作用域。分程序结构的主要优点是可以非常有效地使用存储器。 COBOL:面向事务处理的高级语言,将数据的描述从具体的计算机平台上剥离出来。 PASCAL:最早是为了教学的目的开发而成的,它拥有一些相当紧凑的机制,使其语言的表达能力十分强。它引入了数据结构、过程等重要概念。 C:是20世纪70年代发展起来的通用程序设计语言,提供了指针、数组、结构、联合等新的数据类型。它通过指针可以完成地址操作能力,因此是一种较低级的语言,能够编写出高效的程序。UNIX系统本身,以及其中大量的应用程序都是C编写的。 C++:是在C语言的基础上发展起来的,主要增加了类的功能,使其成为面向对象的程序设计语言。 Java:其是 “一次编写,到处运行”的平台无关性的面向对象语言。其最大的特点是一种半解释型语言,编译程序先将源程序(java后缀名)编译为字节码文件(class后缀名),然后再由Java虚拟机(JVM)解释这些中间代码。 C#:它是C++与Java的一种设计理念的结合,与Java类似,先编译成MSIL中间代码,然后由CLR来负责编译执行

来吧!一文彻底搞定哈希表!

泪湿孤枕 提交于 2019-12-12 01:09:59
哈希表是个啥? 小白 : 庆哥,什么是哈希表?这个哈希好熟悉,记得好像有HashMap和HashTable之类的吧,这是一样的嘛?😊 庆哥: 这个哈希确实经常见😂,足以说明它是个使用非常频繁的玩意儿,而且像你说的HashMap和HashTable之类的与哈希这个词肯定是有关系的,那哈希是个啥玩意啊,这个咱们还是得先来搞明白啥是个哈希表。😎 我们看看百科解释吧: 散列表 ( Hash table ,也叫 哈希表 ),是根据 键 (Key)而直接访问在内存存储位置的 数据结构 。也就是说,它通过计算一个关于键值的函数,将所需查询的数据 映射 到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做 散列函数 ,存放记录的数组称做 散列表 。 怎么样?看到这个,你知道哈希表是什么了嘛? 小白: 我之前是对哈希表一窍不通啊,不过看了这个百科的解释,我知道如下这些关于哈希表的简单知识点: 1、哈希表其实也叫散列表,两个是一个玩意,英文是Hash Table 2、哈希表是一个数据结构 这两个概念是比较清晰的,至于其他的说什么映射函数叫做散列函数,存放记录的数组叫做散列表这个就有点模糊了,尤其说存放记录的数组称为散列表,那意思是哈希表是个数组?🤣 庆哥: 首先你说的很清晰的两点说的是很准确的,哈希表也叫做散列表,这只不过是叫法而已,英文单词是Hash table

go语言切片和数组

☆樱花仙子☆ 提交于 2019-12-11 18:17:09
go语言的切片是动态数组,长度不固定。跟一般的数组不一样。 package main import "fmt" func main() { //Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的 var numbers = make([]int,3,5) //make([]T, length, capacity)创建一个切片,capacity会动态增加。 var iar =[]int{2,3,4,5,6,7,8,9} //这样写是一个数组, var siar []int //这样是定义了一个空切片,默认值是nil printSlice(numbers) printSlice(iar) printSlice(siar) //go语言数组或切片都支持这种[:]截取,类似于python中的切片操作,只是少了第2个:后面的步长。 fmt.Println("iar[:2]=",iar[:2]) fmt.Println("iar[1:6]=",iar[1:6]) siar=iar[1:3] printSlice(siar) fmt.Println("append") //append方法是追加多个元素在末尾,后面可以跟不定数目的元素。 iar=append(iar,1,2,3,4) printSlice(iar) siar=append(siar,9

python数据分析(四) python numpy--函数和数组运算

不打扰是莪最后的温柔 提交于 2019-12-09 20:08:17
1.数组当中的函数 通用函数是一种对ndarray中的数据执行元素级运算的函数。数组当中的函数与python当中内置的函数没有什么太大的区别,区别就是数组当中的函数可以对数组当中的每一个值进行函数运算不需要编写循环(矢量化)。 一元函数 接受一个数组进行运算的函数叫做一元函数,如sqrt,exp In [4]: arr=np.arange(10) In [5]: arr Out[5]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [6]: np.sqrt(arr) Out[6]: array([0. , 1. , 1.41421356, 1.73205081, 2. , 2.23606798, 2.44948974, 2.64575131, 2.82842712, 3. ]) In [7]: np.exp(arr) Out[7]: array([1.00000000e+00, 2.71828183e+00, 7.38905610e+00, 2.00855369e+01, 5.45981500e+01, 1.48413159e+02, 4.03428793e+02, 1.09663316e+03, 2.98095799e+03, 8.10308393e+03]) 二元函数 另外一些函数接受两个数组并返回一个结果数组。如add,maxium

numpy基础操作

筅森魡賤 提交于 2019-12-08 15:19:52
numpy基础操作 数组 数组的创建 数组的索引 numpy运算 数组和标量的计算 数组和数组的运算 数组的内置函数 数组的形状变换 numpy的高级功能 numpy文件操作 numpy基础操作   numpy是python科学计算的基础库,主要提供了高性能的N维数组实现以及计算能力,实现了一些基础算法,较为复杂的科学计算要用到Scipy库,numpy库是该库的基础。 数组 数组的创建 普通的数组创建方法 np.array(list) @requires_authorization import numpy as np; a = np.array([ 1 , 2 , 3 , 4 ]) >>> array([ 1 , 2 , 3 , 4 ]) b = np.array([[ 1 , 2 ],[ 3 , 4 ],[ 5 , 6 ]]) >>> array([[ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ]]) np.arange( 0 , 51 , 10 ) >>> array([ 0 , 10 , 20 , 30 , 40 , 50 ]) 使用numpy提供的函数进行数组的创建 np.arange(int) np.linspace(start, end, num) np.ones((r, c)) np.eye(int) np.random.randn(r, c) np

算法基础

喜你入骨 提交于 2019-12-08 15:16:20
一:什么是算法与大O表示法 算法是一组完成任务的指令。任何代码片段都可视为算法。 算法是一种通过有限过程解决问题的解决方案。 大O 表示法: 大O表示法是一种特殊的表示法,指出了算法的速度有多快; 大O表示法让你能够比较操作数,它指出了算法运行时间的增速; 大O 表示法指出了最糟情况下的运行时间。 举例,假设列表包含n个元素: 简单查找需要检查每个元素,因此需要执行n次操作。使用大O表示法,这个运行时间为 O(n)。 二分查找需要执行log n次操作。使用大O表示法,这个运行时间为 O(log n)。 二:算法相关数据结构介绍 1,数组 数组中的元素在内存中都是相连的(紧靠在一起的)。当增加元素时,要请求计算机重新分配一块可容纳所有元素的内存,再将所有元素都移到那里。 需要随机地读取元素时,数组的效率很高,因为可迅速找到数组的任何元素。数组随机读取某个元素的时间复杂度为O(1)。 在同一个数组中,所有元素的类型都必须相同(都为int、double等)。 #将python中的list转换为数组(list中的所有元素的类型必须相同) import array arr = array.array('i',[0,1,1,2,3]) 2,链表 链表中的元素可存储在内存的任何地方;链表的每个元素都存储了下一个元素的地址,从而使一系列随机的内存地址串在一起。 链表的问题

前端知识之HTML

て烟熏妆下的殇ゞ 提交于 2019-12-07 14:20:09
前端知识之HTML js的介绍 js 的全称: javascript ,布兰登 · 艾奇 LiveScript, javascript 我们要的学习的js主要三部分构成: ECMAscript语法 BOM Browser Object Model 浏览器对象模型 DOM Document Object Model 文档对象模型 js的基本使用 js也有自己的代码文件,文件格式以“.js”结尾. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <script> alert(123) </script></body></html> 三种使用方式 行内式 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h1 onclick="alert(123)">点我呀!!!</h1> //当点击 点我呀!!! 时会出现下边的图片显示</body></html> 内部导入 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title<

前端知识之HTML

主宰稳场 提交于 2019-12-07 14:19:08
前端知识之HTML js的介绍 js 的全称: javascript ,布兰登 · 艾奇 LiveScript, javascript 我们要的学习的js主要三部分构成: ECMAscript语法 BOM Browser Object Model 浏览器对象模型 DOM Document Object Model 文档对象模型 js的基本使用 js也有自己的代码文件,文件格式以“.js”结尾. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <script> alert(123) </script></body></html> 三种使用方式 行内式 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h1 onclick="alert(123)">点我呀!!!</h1> //当点击 点我呀!!! 时会出现下边的图片显示</body></html> 内部导入 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title<

前端知识之HTML

偶尔善良 提交于 2019-12-07 14:18:28
前端知识之HTML js的介绍 js 的全称: javascript ,布兰登 · 艾奇 LiveScript, javascript 我们要的学习的js主要三部分构成: ECMAscript语法 BOM Browser Object Model 浏览器对象模型 DOM Document Object Model 文档对象模型 js的基本使用 js也有自己的代码文件,文件格式以“.js”结尾. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <script> alert(123) </script></body></html> 三种使用方式 行内式 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <h1 onclick="alert(123)">点我呀!!!</h1> //当点击 点我呀!!! 时会出现下边的图片显示</body></html> 内部导入 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title<