2.6.4 数组索引与切片
2025年09月20日
2.6.4 数组索引与切片
数组索引操作符“[…]”用来访问数组元素的值。通过索引,既可以访问相应数组元素的值,也可以修改它们的值。数组索引操作所耗费的时间为常量,与数组大小无关。
数组索引的语法形式如下:
例如:
索引表达式可以是整型标量,也可以是整型向量表达式。索引还可以是布尔类型和枚举类型,例如:
标量索引表达式用来访问单个数组元素,向量索引表达式则用来访问数组的某个划分,故称之为“切片”操作。切片操作能够挑选出向量、矩阵和数组中选定的行、列和元素。冒号用于表示某一维所有下标。表达式end只能出现于数组下标中,如果用于数组表达式A的第i个下标,假设A的下标为Integer子类型,那么它等价于size(A,i);如果用于嵌套的数组下标中,则指向最近的嵌套数组。如果下标是向量,赋值按向量下标给定的顺序进行。
数组切片例子:
如果x是向量,则x[1]是标量,但是切片x[1:5]是向量(矢量值或冒号下标表达式导致一个向量被返回)。
表2-7说明了数组切片后的结果类型,假设x[n,m]、v[k]、z[i,j,p]已声明。
表2-7 数组切片后的结果类型示例