python基础学习3--切片(slice)

在python中,切片(slice)是对序列型对象(如list,string,tuple)的一种高级索引方法。普通索引只取出序列一个下标对应的元素,而切片取出序列中一个范围对应的元素,这里的范围不是狭义上的连续片段。通俗一点就是在一定范围内如同用刀切出一部分,达到自己需要的一部分。因为最近也在学pytorch,所以这里用torch中的张量举例。
一、切片的索引方式
正索引(按下标从0开始):
在这里插入图片描述
负索引(最后一个元素索引值为-1,从右往左后面递减):
在这里插入图片描述
二、索引的一般形式
一个完整的切片是包含三个参数和两个冒号(😃,即:
object[start_index:end_index:step]
start_index:切片的起始位置,如果没有值的话从头开始;
end_index:切片的结束位置,但不包含end(前闭后开),如果没有值的话表示切割到结束为止;
step:步长,默认值为1,如果步长为正数的情况下表示从左往右,若为负数表示从右往左。step的政府决定切的方向。
此外:当只有一个冒号(:)时,默认第三个参数step=1;当一个冒号(:)也没有时,start_index=end_index,表示切取start_index指定的那个元素。

三、切片操作的详细切法
1.切割完整的对象
单独一个冒号,代表从头切到尾,步长默认为1.
在这里插入图片描述
单独两个冒号一样代表从头切到尾,步长默认为1.
在这里插入图片描述
python数组中步长为-1时从右往左切,但pytorch中不能这样使用。
在这里插入图片描述
2.当start_index和end_index全部为正数时。
在这里插入图片描述
3.步长不为1或-1时
在这里插入图片描述
4.连续的切片操作
在这里插入图片描述
上面连续的切片[:7]就是start_index=0切到end_index=7即torch([1,2,3,4,5,6,7]),再从中取start_index=2到end_index=5-1的部分即torch([3,4,5]),最后取index=-1的位置即torch(5)。

四、多维张量的切片
对于多维张量的切片类似,对每一维的切片用逗号隔开。
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值