python数组操作

ES6 --(7)数组的扩展

ぐ巨炮叔叔 提交于 2019-12-03 04:22:07
2019-11-01 我的学习: 🌟一、扩展运算符:…   将一个数组转为用逗号分隔的参数序列。多用于函数中。不再需要 apply 方法,将数组转为函数的参数了。   注意: 只有函数调用时,扩展运算符才可以放在圆括号中,否则会报错。 (...[1, 2]) // Uncaught SyntaxError: Unexpected number console.log((...[1, 2])) // Uncaught SyntaxError: Unexpected number console.log(...[1, 2]) // 1 2   … 与 apply的效果: // ES5 的写法 Math.max.apply(null, [14, 3, 77]) // ES6 的写法 Math.max(...[14, 3, 77]) // 等同于 Math.max(14, 3, 77); 应用: (1)深拷贝数组: const a1 = [1, 2]; const a2 = a1; a2[0] = 2; a1 // [2, 2] 浅拷贝,仅拷贝指针 //ES5 的深拷贝: const a1 = [1, 2]; const a2 = a1.concat(); a2[0] = 2; a1 // [1, 2] // ES6: const a1 = [1, 2]; // 写法一 const a2

7、散列表

匿名 (未验证) 提交于 2019-12-03 00:39:02
一、什么是散列表? 问题:现在我们需要为一家超市建立一个结账系统,我们应该考虑用哪一种数据结构? 思考:由于结账系统多用于查询,我们可以考虑使用数组。在数组中需要同时储存商品名和对应的价格,我们可以再数组中内嵌子数组,把一个商品名和对应价格同时保存在一个子数组中,最后对所有数组排序。查询是速度为O(log 2 n)。 反思:①数组无法储存具有映射关系的数据;②超市中的商品成千上万,即使查询速度为对数速度,当记录的项目多时查询起来也非常耗时。 针对反思中的两点,我们想:如果有一种数据结构,能够储存具有映射关系的数据,而且无论项目有多少,其查询数据的速度都是1该有多好。散列表就是实现了这种功能的数据结构。它能够储存具有映射关系的数据,而且查询速度永远是1. 二、散列函数 在数组中,利用索引来查找数据这一操作是瞬间完成的事情。散列函数能够把一个数据转化成一个具体的数字,而这个数字就是储存数据的数组中的索引,这样我们就可以把数据保存在数组中索引的位置了。查找数据时只要用散列函数得出索引,查找的速度就永远是1了。 所以,散列表是散列函数与数组相互配合工作的:散列函数转化数据,数组储存数据。 这样看来,散列函数必须足够强大,能够把数据转换成互不相同的数字。 三、散列表与数组、链表 散列表是我们在数组、链表之后学习的第一种有额外逻辑的数据结构:数组、链表都是把数据直接映射到内存里

tensorflow的reshape操作tf.reshape()

匿名 (未验证) 提交于 2019-12-03 00:33:02
numpy.reshape reshape()的括号中所包含的参数有哪些呢?常见的写法有tf.reshape((28,28)): tf.reshape(tensor,shape,name = None) 将矩阵t变换为一维矩阵,然后再对矩阵的形式进行更改就好了,具体的流程如下: reshape (t,shape) => reshape (t,[- 1 ]) => reshape(t,shape) 实际操作中,有如下效果:我创建了一个一维的数组 >>>import numpy as np >>>a= np. array ([ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ]) >>>a array ([ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ]) >>> 使用reshape()方法来更改数组的形状,使得数组成为一个二维的数组:(数组中元素的个数是2×4=8) >>>d = a.reshape(( 2 , 4 )) >>>d array( [[1, 2, 3, 4], [5, 6, 7, 8]] ) 进一步提升,可以得到一个三维的数组f:(注意数组中元素的个数时2×2×2=8) >>>f = a.reshape(( 2 , 2 , 2 )) >>>f array( [[[1, 2], [3, 4]] , [[5, 6], [7, 8]] ])

NumPy简明教程(二、数组1)

匿名 (未验证) 提交于 2019-12-03 00:30:01
NumPy数组是一个多维数组对象,称为ndarray。其由两部分组成: 实际的数据 描述这些数据的元数据 大部分操作仅针对于元数据,而不改变底层实际的数据。 关于NumPy数组有几点必需了解的: NumPy数组的下标从0开始。 同一个NumPy数组中所有元素的类型必须是相同的。 在详细介绍NumPy数组之前。先详细介绍下NumPy数组的基本属性。NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。所以一维数组就是NumPy中的轴(axes),第一个轴相当于是底层数组,第二个轴是底层数组里的数组。而轴的数量――秩,就是数组的维数。 NumPy的数组中比较重要ndarray对象属性有: ndarray.ndim:数组的维数(即数组轴的个数),等于秩。最常见的为二维数组(矩阵)。 ndarray.shape:数组的维度。为一个表示数组在每个维度上大小的整数元组。例如二维数组中,表示数组的“行数”和“列数”。ndarray.shape返回一个元组,这个元组的长度就是维度的数目,即ndim属性。 ndarray.size:数组元素的总个数,等于shape属性中元组元素的乘积。 ndarray

[学习笔记] Numpy基础 系统学习

匿名 (未验证) 提交于 2019-12-03 00:15:02
#%% #------------------------------2019.9.23 NumPy----------------------------- import numpy as np # 1.NumPy在一个连续的内存块中存储数据 # 2.性能差异 my_arr = np.arange(100000) my_list = list(range(10000)) print(my_arr) #%% # 1.ndarry:一种多维数组对象 data = np.random.randn(2,3) print(data,'\n') print(data*10,'\n') print(data+data,'\n') # 1.1.ndarry通用的同构数据多为容器――所有元素必须是相同类型的 # .shape 返回表示各维度大小的元组 # .dtype 返回类型 print(data.shape) print(data.dtype) #%% # 1.2.创建ndarry # 1.2.1.用array函数直接创建,dtype自动判定 data_list = [1,1.5,2] arr1 = np.array(data_list) print(arr1) data2 = [[1,2,3,4],[5,6,7,8]] arr2 = np.array(data2) print(arr2

numpy模块

匿名 (未验证) 提交于 2019-12-03 00:13:02
Ŀ¼ 1) arange 2) linspace/logspace 3) zeros/ones/eye/empty 4) reshape numpy是Python的一种开源的数值扩展库,这种库可用来存储和处理大型numpy数组比Python自身的嵌套列表结构要高效的多(该结构也可以用来表示numpy数组)。 numpy库有两个作用: import numpy as np l1=[1,2,3] l2=[4,5,6] l=[] for i in range(len(l1)): l.append(l1[i]*l2[i]) print(l) arr1=np.array(l1) arr2=np.array(l2) print(arr1*arr2) ''' [4, 10, 18] [ 4 10 18] ''' 如果我们想让l1*l2得到一个结果为[4,10,18]的列表用到了for循环,非常复杂。 numpy数组即numpy的ndarray的对象,创建numpy数组就是把一个列表传入np.array()方法。 # 创建一维的ndarray对象 arr = np.array([1,2,3]) print(arr,type(arr)) [1 2 3] <class 'numpy.ndarray'> #创建二维的ndarray对象 print(np.array([1,2,3],[4,5,6])) '

numpy的基本使用(一)

匿名 (未验证) 提交于 2019-12-03 00:06:01
numpy概述 numpy(Numerical Python)提供了python对多维数组对象的支持: ndarray ,具有矢量运算能力,快速、节省空间。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy支持比Python更多种类的数值类型。NumPy数值是 dtype (数据类型)对象的实例,每个对象具有唯一的特征。 创建ndarray数组 ndarray :N维数组对象(矩阵),所有元素必须是相同类型。 ndarray属性:ndim属性,表示维度个数;shape属性,表示各维度大小;dtype属性,表示数据类型。 ndarray 内部由以下内容组成: 一个指向数据(内存或内存映射文件中的一块数据)的指针。 数据类型或 dtype,描述在数组中的固定大小值的格子。 一个表示数组形状(shape)的元组,表示各维度大小的元组。 一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。 数组创建函数 创建一个 ndarray 只需调用 NumPy 的 array 函数 即可: numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) 参数说明: import numpy as np

shell 变量的高级用法

匿名 (未验证) 提交于 2019-12-02 23:45:01
案例:从头开始匹配,将符合最短的数据删除 ( # ) variable_1="I love you, Do you love me" echo $variable_1 variable_2=${variable_1#*ov} echo $variable_2    案例:从头开始匹配,将复合最短的数据删除( ## ) varible_3=${variable_1##*ov} echo $varible_3 案例:替换字符串,只替换第一次匹配成功的( / ) echo $PATH var6=${PATH/bin/BIN} echo $var6    案例:替换字符串,符合条件的全部替换 ( // ) var7=${PATH//bin/BIN} echo $var7    var=${str-expr}    如果变量 str 没有定义,那么var=expr 如果变量 str的字符串中有值,那么 变量 var 的值就等于 str变量的值 案例1 var="hello world" len=${#var} echo $len    案例2 var1="zhang biao" len=`expr length "$var1"` echo $len 获取字串在字符串中的索引位置 (把字串拆分成一个个的字串,最先匹配到的第一个就会返回) 案例 var="quickstart is a app"

Java 基础语法学习整理笔记

☆樱花仙子☆ 提交于 2019-12-02 22:56:31
Java 基础语法学习整理笔记 文章目录 标识符 常量 基本数据类型 引用数据类型 变量 数据类型转换 算数运算符 赋值运算法 比较运算符 逻辑运算符 三元运算符 方法简单介绍 选择结构 循环结构 方法的重载(Overload) 数组 数组初始化 访问数组元素 Java 内存划分 数组异常种类 数组的常见操作 标识符 标识符 :是在程序当中,我们自定义的内容。比如类的名字、方法的名字和变量的名字等等 命名规则 : 标识符可以包含: 英文字母(区分大小写) 、 数字 、 字符 & 和 _ 标识符不能以数字开头 标识符不能是关键字 命名规范 : 类名规范 :首字母大写,后面的每个单词首字母大写(大驼峰) 变量名规范 :首字母小写,后面每个单词首字母大写(小驼峰) 方法名规范 :通变量名 常量 常量的分类 字符串常量 整数常量 浮点数常量 字符常量 布尔常量 空常量 基本数据类型 整数型 字节型(byte)1 个字节, ( − 2 7 , 2 7 − 1 ) (-2^{7}, 2^{7}-1) ( − 2 7 , 2 7 − 1 ) 短整型(short)2 个字节, ( − 2 15 , 2 15 − 1 ) (-2^{15}, 2^{15}-1) ( − 2 1 5 , 2 1 5 − 1 ) 整形(int)4 个字节, ( − 2 31 , 2 31 − 1 ) (-2^{31},

Python图像灰度变换及图像数组操作

匿名 (未验证) 提交于 2019-12-02 22:54:36
转载自: https://www.jb51.net/article/78762.htm 点击打开链接 使用python以及numpy通过直接操作图像数组完成一系列基本的图像处理 总的想法是:利用PIL库中的Image()函数将图像转为array,通过对array的操作来完成对图像的操作。 numpy简介: NumPy是一个非常有名的 Python 科学计算工具包,其中包含了大量有用的工具,比如数组对象(用来表示向量、矩阵、图像等)以及线性代数函数。 数组对象可以实现数组中重要的操作,比如矩阵乘积、转置、解方程系统、向量乘积和归一化。这为图像变形、对变化进行建模、图像分类、图像聚类等提供了基础。 在上一篇python基本图像操作中,当载入图像时,通过调用 array() 方法将图像转换成NumPy的数组对象。NumPy 中的数组对象是多维的,可以用来表示向量、矩阵和图像。通过对图像的数组进行直接操作,就可以完成很多图像处理。 numpy的相关知识网上有很多资料,作为python科学计算的基础,还是非常值得认真学习的。 使用图像数组进行基本图像操作: 认识图像数组: 通过下面这几个程序我们看一下图像与灰度图的图像数组,以及numpy数组的切片。 ? 1 2 3 4 5 6 7 8 9 10 11 12 # -*- coding: utf-8 -*- from PIL import