zoukankan      html  css  js  c++  java
  • 切片操作: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

  • 相关阅读:
    深浅拷贝的区别
    python 连接mysql数据库
    前端 之HTML基础
    MySQL 多键
    MySQL 存储引擎 字段类型 约束条件
    MySQL数据库的基础知识
    全局解释器和协程
    进程剩余部分和线程
    计算机网络体系结构整理-第三单元网络交换
    计算机网络体系结构整理-第二单元IP技术
  • 原文地址:https://www.cnblogs.com/HZL2017/p/8782467.html
Copyright © 2011-2022 走看看