数据操作-索引和切片

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.]])

  

原文地址:https://www.cnblogs.com/xiaoqing-ing/p/15046645.html