python中list与pytorch中tensor的切片操作

切片注意界限问题

>对于一个元素的形如,a[2],a[:1][7],若超出索引值的范围,会报错
>但形如,a[:1][6:7] ,即使超出范围,这也只是返回一个空列表,不会报错
>

列表切片简单的基础形式A_list[::]

参考:https://blog.csdn.net/weixin_42364852/article/details/112195292

>> A_list[start:stop:step]  # :之间的三个参数的含义分别是,开始索引值,结束索引值,取值之间的索引值间隔,
>三个值的默认值分别是,第一个索引,最后一个索引,1,所以如果三个都没有给数值的话,相当于这个列表本身,下面的后两个不常见
>可以认为 A_list == A_list[:] == A_list[:][:]
>例如,
>print('123456789'[::-1]) # 会输出987654321 ,
>print('123456789'[::2]) # 13579

对于二维列表的切片A[:][:2] “没有” A[:,:2]的形式

参考:https://blog.csdn.net/weixin_43629813/article/details/101122997

>A = [[1,2,3,4],
     [5,6,7,8],
     [5,6,7,8]]
>   print(A[:][:2]) # [[1, 2, 3, 4], [5, 6, 7, 8]]
>   

pytorch的tensor和numpy的数据都可以通过A[:][:2] , A[:,:2]但两个不表示同种含义

numpy的数组

>    import numpy as np
    A = [[1,2,3,4],
         [5,6,7,8],
         [5,6,7,8]]
    B = np.array(A)
    # 
    print(B[:][:2])  # 和B[:2] 等价
    print(B[1,2]) #  取得B中2行3列的数据
    print(B[:, :2]) # 取所有行的前两列

输出结果如下图
python中list与pytorch中tensor的切片操作_第1张图片

你可能感兴趣的:(python基础,torch,笔记,pytorch,list,numpy——list)