Engee 文档
Notebook

数组索引

编程语言中的索引是一种机制,通过对数组的引用和一个或多个表达式来访问数据数组中的元素,这些表达式的值决定了数组中某个组件的位置。索引是指向特定数组元素的一组元素编号。本示例将演示使用索引的方法。

让我们创建一个尺寸为 4 x 4 的矩阵,并访问其中的索引:

In [ ]:
A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
Out[0]:
4×4 Matrix{Int64}:
  1   2   3   4
  5   6   7   8
  9  10  11  12
 13  14  15  16

有两种方法可以引用数组中的特定元素。最常见的方法是指定行和列索引:

In [ ]:
A[2, 2]
Out[0]:
6

较少见但有时有用的方法是使用单个索引,依次向下指向每一列:

In [ ]:
println(A[1], " ", A[2], " ", A[3], " ", A[4], " ", A[5])
1 5 9 13 2

使用单一索引来引用数组中的特定元素,称为线性索引。

要引用数组中的多个元素,可以使用冒号操作符,它允许你指定一个start:end形式的范围。例如,列出数组前三行和第二列中的元素:

In [ ]:
A[1:3, 2]
Out[0]:
3-element Vector{Int64}:
  2
  6
 10

没有起始或结束值的冒号表示该维度中的所有元素。例如,显示表格第三行的所有列:

In [ ]:
A[3, :]
Out[0]:
4-element Vector{Int64}:
  9
 10
 11
 12

冒号操作符还允许您使用更通用的 start:step:end 形式,创建具有相等间隔的数值矢量:

In [ ]:
B = collect(0:10:100)
Out[0]:
11-element Vector{Int64}:
   0
  10
  20
  30
  40
  50
  60
  70
  80
  90
 100

如果省略步长,如 start:end,Julia 将使用默认步长值 1:

In [ ]:
B = collect(0:100)
Out[0]:
101-element Vector{Int64}:
   0
   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
   ⋮
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100