切片操作: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的更多相关文章

  1. 第6条:在单次切片操作内,不要同时指定start、end和stride

    核心知识点: 1.使用负步进可以反转取值字符串及ASCII. 2.stride最好不要与start和end用在一起,会降低代码可读性. 除了基本的切片操作之外,python还提供了somelist[s ...

  2. Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档

    array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...

  3. Python序列的切片操作与技巧

    切片操作 对于具有序列结构的数据来说,切片操作的方法是:consequence[start_index: end_index: step]. start_index: 表示是第一个元素对象,正索引位置 ...

  4. 关于javascript里面仿python切片操作数组的使用方法

    其实在使用了好一段时间的 python之后,我觉得最让我念念不忘的并不是python每次在写函数或者循环的时候可以少用{}括号这样的东西(ps:其实也是了..感觉很清爽,而且又开始写js的时候老是想用 ...

  5. python学习之“切片操作从入门到精通”

    在python学习开发的过程中,我们总是不断的要对List(列表),Tuple(元组)有取值操作:假如我们有一个列表List1现在想取出1其中的前5个元素,改怎么操作呢? >>> L ...

  6. 【Python实践-4】切片操作去除字符串首尾的空格

    #利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[ ...

  7. Python中的切片操作

    python中的切片操作功能十分强大,通常我们利用切片来进行提取信息,进行相关的操作,下面就是一些切片的列子. 列如我们从range函数1-100中取7的倍数,函数及结果如下所示: >>& ...

  8. 彻底搞懂Python切片操作

        在利用Python解决各种实际问题的过程中,经常会遇到从某个对象中抽取部分值的情况,切片操作正是专门用于完成这一操作的有力武器.理论上而言,只要条件表达式得当,可以通过单次或多次切片操作实现任 ...

  9. 关于python切片操作笔记

    一. Python可切片对象的索引方式 包括:正索引和负索引两部分,如下图所示,以a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]为例:   python索引方式.jpg 二. P ...

随机推荐

  1. ABAP开发常见任务

    在ABAP开发中 最主要的工作: 1 报表的开发 主要使用到数据库读取 ALV LIST等技术: 2 单据的打印 主要使用到数据库读取.SmartFirms.Form等技术: 3 数据的上载 主要使用 ...

  2. P4719 【模板】动态dp

    \(\color{#0066ff}{ 题目描述 }\) 给定一棵\(n\)个点的树,点带点权. 有\(m\)次操作,每次操作给定\(x,y\),表示修改点xx的权值为\(y\). 你需要在每次操作之后 ...

  3. [TJOI2013]松鼠聚会 BZOJ 3170

    题目描述 草原上住着一群小松鼠,每个小松鼠都有一个家.时间长了,大家觉得应该聚一聚.但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理. 每个小松鼠的家可以用一个点x,y表示,两个点的距离定义为点( ...

  4. kuangbin专题十六 KMP&&扩展KMP HDU1238 Substrings

    You are given a number of case-sensitive strings of alphabetic characters, find the largest string X ...

  5. springcloud系列八 整合Hystrix

    feign本身是支持Hystrix的,所以不需要引入其他依赖: 我们可以看看feign这个项目的依赖,就是引入这个依赖的pom.xml 要想看这个很简单,点击那个依赖进去就可以了 点进去就可以看到 & ...

  6. Qt 学习之路 2(12):菜单栏、工具栏和状态栏

    Home / Qt 学习之路 2 / Qt 学习之路 2(12):菜单栏.工具栏和状态栏 Qt 学习之路 2(12):菜单栏.工具栏和状态栏  豆子  2012年9月10日  Qt 学习之路 2  2 ...

  7. 各平台安装和使用Docker的差异

    在Mac上运行Docker 使用Docker for Mac 系统要求 开启虚拟化的硬件支持,可以通过命令来检查:sysctl kern.hv_support OS X 10.10.3 或者更高版本 ...

  8. 金融量化之tushare模块的使用

    一.TuShare简介和环境安装 TuShare是一个著名的免费.开源的python财经数据接口包.其官网主页为:TuShare -财经数据接口包.该接口包如今提供了大量的金融数据,涵盖了股票.基本面 ...

  9. Zero Sum Subarray

    Given an integer array, find a subarray where the sum of numbers is zero. Your code should return th ...

  10. 干货-Spring3.2.3的所有注解

    在用到Spring3的时候,我们需要对耦合的struts2的Action层或者SpringMVC的Controller层加上注解,一般是@Controller和@RequestMapping 看到这里 ...