• ndarray


      ndarray的本质是数组,不同于一般的数组或者python的list的地方在于它可以有N维,也可以简繁的理解为数组里面嵌套数组。

      大部分的数组操作仅仅是修改元数据部分,而不改变其底层的实际数据。数组的维数称为秩,简单来说就是如果你需要获取数组中一个特定元素所需的坐标数,如a是一个2×3×4的矩阵,你索引其中一个元素必定给定三个坐标a[x,yxz],故它的维数就是3 。而轴可以理解为一种对数组空间的分割,以数组a为例,如果我们以0为轴,那么a可以看成是一个由两个元素构成的数组,其中每一个元素都是一个3×4的数组。

      接下来就来说说ndarray的索引、遍历和切片操作。

    索引

      ndarray的索引和切片操作其实与python的list的索引切片操作极为相似,元素的索引均从0开始。

      a中有四个元素,那么这些元素的索引分别为0,1,2,3,也就是说a中的第二个元素索引为1,打印第二个元素:

       b是一个二行三列的二维数组,行索引为0,1,打印数组b的第一行:

       打印数组b中第二行第二列的元素:

       需要注意的是,多维数组不能以b[][1]的形式输出第二列的元素。

    遍历元素

      ndarray的遍历方式也与python中的list的遍历方式极为相似。

      使用for循环遍历数组中的元素,多维数组根据索引遍历:

     切片

      ndarray的切片方式也与python中的list的切片方式相似,若需要的行范围为0-2,切片时的索引范围就为0-3,写法为0:3,为了方便,0可省略。

      获取a中第二至第四个元素:

       从倒数第二个元素开始获取a中的元素:

       从倒数第一个元素开始获取a中的元素:

       将a中的元素倒序输出:

       从倒数第二个元素输出a的倒序元素:

       输出b中第一行,第二、三列元素:

       输出b中第二、三列的元素:

  • 相关阅读:
    Android获取View对应的Bitmap
    Android按需添加Google Play服务
    Android自定义View的构造函数
    两个Fragment之间如何传递数据
    SmartImageView
    onSingleTapUp()和onSingleTapConfirmed()的区别
    Android Fragment add/replace以及backstack
    InputStream与InputStreamReader的区别
    Android手动签名
    使用后台服务数据更新UI
  • 原文地址:https://www.cnblogs.com/zhangmingfeng/p/12392924.html
Copyright © 2020-2023  润新知