切片操作:MATLAB VS Python
切片操作:MATLAB VS Python
一.MATLAB 矩阵的拆分
1.冒号表达式: t = e1:e2:e3
e1表示初始值,e2为步长,e3为终止值(包括e3),产生一个从e1到e3,步长为e2的行向量
eg: t = 0:1:5
t = 0,1,2,3,4,5
2.矩阵元素按列编号,先第一列,再第二列
3.reshape(A,m,n)
将原矩阵A重新排列成m行n列的新矩阵,注意矩阵元素按列存储,仅改变其逻辑结构
4.利用冒号表达式获得子矩阵
(1)A(:,j)表示取A矩阵的第j列全部元素;
A(i,:)表示取A矩阵的第i行全部元素;
A(i,j)表示去A矩阵的第i行第j列元素;
(2)A(i:i+m,:)表示取A矩阵第i~i+m行全部元素;
A(:,k:k+m)表示取A矩阵第k~k+m列全部元素;
A(i:i+m,k:k+m)表示取A矩阵第i~i+m行,并在第k~k+m列的全部元素;
(3)A(:)将矩阵每一列元素堆叠起来,成为一个列向量。如果需要将每行堆叠起来成为一个列向量,则将原矩阵转置即可。
5.删除矩阵中某些元素,对其赋值为空即可: A(:,[2 4]) = [ ]
二. Python 列表切片
1.索引
索引数字从左边开始,第一个是0,然后依次加1;
索引也可从右边编号,右边第一个是-1,然后向左依次减1;
序列的切片,一定要左边的数字小与右边的数字,即序列号是从小到大;
2.反转 A[::-1] 和reversed()
alst = [1,2,3,4,5]
alst[::-1] >>>[5,4,3,2,1]
list(reversed(alst)) >>> [5,4,3,2,1]
3.切片
alst[:t] 表示取列表alst的前t个元素,不包括索引t个元素(索引号从0开始);
alst[:2] >>> [1,2]
alst[t:]表示取列表alst从索引t开始,到最后的所有元素,包括索引号为t的元素;
alst[3:] >>> [4,5]
alst[a:b] 表示取列表alst从索引号a开始到索引号b结束的所有元素,包括索引号为a的元素,不包括索引号为b的元素;
alst[2:4] >>>[3,4]
4.对序列的操作
len():返回序列长度
'+' :连接两个序列
'*':重复序列元素
in: 判断元素是否存在与序列中,然会Ture / False
max():返回最大值
min():返回最小值
cmp(str1,str2):比较两个序列值是否相同,用第一个数的ASCII码减去第二个数的ASCII码,返回1/0/-1
切片操作:MATLAB VS Python的更多相关文章
- 第6条:在单次切片操作内,不要同时指定start、end和stride
核心知识点: 1.使用负步进可以反转取值字符串及ASCII. 2.stride最好不要与start和end用在一起,会降低代码可读性. 除了基本的切片操作之外,python还提供了somelist[s ...
- Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档
array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...
- Python序列的切片操作与技巧
切片操作 对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]. start_index: 表示是第一个元素对象,正索引位置 ...
- 关于javascript里面仿python切片操作数组的使用方法
其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...
- python学习之“切片操作从入门到精通”
在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...
- 【Python实践-4】切片操作去除字符串首尾的空格
#利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[ ...
- Python中的切片操作
python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>& ...
- 彻底搞懂Python切片操作
在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任 ...
- 关于python切片操作笔记
一. Python可切片对象的索引方式 包括:正索引和负索引两部分,如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例: python索引方式.jpg 二. P ...
随机推荐
- Hyper-V 配置虚拟机内网及外网环境
一.为Hyper-V虚拟机准备内外网环境 1.内网环境——虚拟机与虚拟机及主机可以互通
- 将已有项目同步到远程git仓库(github,gitee)及giteee的visual studio插件使用一二
一.将已有项目同步到远程仓库的最简便方法是用git bash: 将已有项目同步到远程仓库有两种方法:1用git bash:2.用vs插件,两者的思路和步骤基本一致的. 实验发现,如果用vs插件,bas ...
- CF1076D Edge Deletion 最短路径树+bfs
题目描述 You are given an undirected connected weighted graph consisting of n n n vertices and m m m edg ...
- Java内存区域与内存溢出异常---运行时数据区域
运行时数据区域 Java虚拟机所管理的内存将会包括以下几个运行时数据区域 线程私有区域 1.程序计数器 程序计数器记录的是当前正在执行的虚拟机字节码指令所在的地址.在虚拟机的概念模型中,字节码解释 ...
- matplotlib学习笔记(四)
利用matplotlib可以显示图像 imread()和imshow()提供了简单的图像载入和显示功能. img = plt.imread("xxx.jpg") imread()可 ...
- 富文本编辑器...quill 的使用放...
移动端 quill 时候用的 是 div 而不是 textarea.... 引入 dom <link href="//cdn.quilljs.com/1.3.6/quill.snow. ...
- hdu3567 八数码2(康托展开+多次bfs+预处理)
Eight II Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 130000/65536 K (Java/Others)Total S ...
- POJ3041轰炸行星(匈牙利算法 最小覆盖点集)
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 25232 Accepted: 13625 Descr ...
- HDU 4507 求指定范围内与7不沾边的所有数的平方和 (数位DP)
题意:求区间[l,r]内所有与7无关的数的平方和(取模)定义与7无关的数: 1.数字的数位上不能有7 ...
- Django ORM 最后操作
F查询:代表2个字段之间的比较 from django.db.models import F models.Book.objects.filter(price__gt=F('keep_price')) ...