目录
一、一维数组
import torch
a = torch.tensor([1,2,3,4]) #out:tensor([1, 2, 3, 4])
b = a.numpy()
print(b) #out:[1 2 3 4]
1、一个参数
print(b[-1]) #out:4
2、两个参数
【说明】b[i:j] #表示复制b[i]到b[j-1],以生成新的list对象
- s[i:j] 表示获取a[i]到a[j-1]
- s[:-1]去掉最后一个字符
- s[:-n]去掉最后n个字符
- s[-2:]取最后两个字符
- s[i:j:k]这种格式呢,i,j与上面的一样,但k表示步长,默认为1
- s[::-1]是从最后一个元素到第一个元素复制一遍(反向)
【举例】
print(b[1:3]) #[2,3]
print(b[:-1]) #[1 2 3] -1:倒数第一个
print(b[1:]) #[2 3 4]
print(b[:]) #[1,2,3,4]
3、三个参数
【说明】 b[i:j:s] s:步进(默认为1,-1表示翻转)当s<0时,i默认为-1,j默认为-len(b)-1
print(b[::-1]) #[4 3 2 1]
print(b[-1:-len(b)-1:-1]) #[4 3 2 1]
print(b[2::]) #[3,4]
print(b[2::-1]) #[3 2 1] index=2作为头翻转/先取[1,2,3]再翻转得[3,2,1]
print(b[:1:-1]) #[4 3] index=1作为尾翻转/先取[3,4]再翻转得[4,3]
二、二维数组
- X[:,0]取所有行的第0个数据
- X[:,1] 取所有行的第1个数据
- X[:,1:]第一维全部取,即所有行,列上从第一列开始取,不要第0列
- X[1,:]是取第1维中下标为1(第一行)的元素的所有数据,第1行(从0开始)
- X[:2,1:]第一维取下标2之前的,即第2行之前(0,1两行),列上从第一列开始取,不要第0列
import torch
x = torch.tensor([[1,2,3],[4,5,6]])
x = x.numpy()
print(x) #[[1 2 3]
# [4 5 6]]
【说明】x[,] 逗号之前表示行,之后表示列
x[:,:] 分号之前表示起始行(列),之后表示结束行(列)
print(x[:,0]) #[1 4] 所有行的第1个元素
print(x[:,1:]) #[[2 3] 所有行从第1个元素开始到最后一个元素
# [5 6]]
print(x[1,:]) #[4 5 6] 第1行的所有元素
print(x[:2,1:]) #[[2 3] 第0行和第1行的第1个元素到最后一个元素
# [5 6]]
链接:
1、https://blog.csdn.net/weixin_43629813/article/details/101122997