• 切片操作: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

  • 相关阅读:
    AsyncTask(异步任务)
    Android之listview添加数据篇
    Android之ListView动态添加数据(SQLiteOpenHelper类添加数据)
    Android之sqlite数据库版本升级和降级的处理(onUpgrade和onDowngrade)
    Android中的Sqlite中的onCreate方法和onUpgrade方法的执行时机
    Android之SQLite
    Eclipse快捷键
    Android之微信布局篇
    Android之MainActivity类
    onOptionsItemSelected、onMenuItemSelected、onContextItemSelected 区别
  • 原文地址:https://www.cnblogs.com/HZL2017/p/8782467.html
Copyright © 2020-2023  润新知