数据操作-索引和切片
1、与python数组一样,张量中的元素可以通过索引访问
2、第一个元素的索引为0
3、可以指定范围以包含第一个元素和最后一个之前的元素
4、可以通过负索引根据元素到列表尾部的相对位置访问元素
即:我们可以用 [-1] 选择最后一个元素,可以用 [1:3] 选择第二个和第三个元素
print(X) print(X[-1]) # 注意元素标号是从0开始的 print(X[1:3]) #X[-1], X[1:3] #输出结果 tensor([[ 0., 1., 2., 3.], [ 4., 5., 6., 7.], [ 8., 9., 10., 11.]]) tensor([ 8., 9., 10., 11.]) tensor([[ 4., 5., 6., 7.], [ 8., 9., 10., 11.]])
5、通过指定索引将元素写入矩阵
# 强行赋值 X[1, 2] = 9 X #输出结果 tensor([[ 0., 1., 2., 3.], [ 4., 5., 9., 7.], [ 8., 9., 10., 11.]])
6、多元素赋值
为多个元素赋值相同的值,只需要索引所有元素,然后为它们赋值。
# 第一个参数 0:2:表示第零行到第一行 # 第二个参数 : :表示所有的列数 X[0:2, :] = 12 X #输出结果 tensor([[12., 12., 12., 12.], [12., 12., 12., 12.], [ 8., 9., 10., 11.]])