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中第二、三列的元素:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?