在 python 中创建切片对象
Posted
技术标签:
【中文标题】在 python 中创建切片对象【英文标题】:Creating a slice object in python 【发布时间】:2016-10-04 11:37:29 【问题描述】:如果我有一个数组a
,我知道如何以各种方式对其进行切片。具体来说,要从任意第一个索引切片到数组末尾,我会做a[2:]
。
但是我如何创建一个切片对象来实现同样的目的呢?创建documented 的切片对象的两种方法是slice(start, stop, step)
和slice(stop)
。
因此,如果我像在 a[2:]
中那样传递单个参数,slice
对象会将其解释为停止索引而不是起始索引。
问题:如何将索引传递给具有起始索引的slice
对象,并获得一个一直切片到末尾的切片对象?我不知道列表的总大小。
【问题讨论】:
你想切片什么?你在寻找类似***.com/questions/2936863/… 的东西吗? 对空白部分使用“无”。因此,可以使用以下方式创建反转习语 [::-1]:reversing_slice=slice(None,None,-1) @RufusVS:为什么要在发布两年后添加一条复制已接受答案的评论? @ShadowRanger 在阅读答案之前我必须发表评论,因为我看到我也赞成接受的答案。我现在年纪大了,(希望)更聪明了。 【参考方案1】:在基于语法的slice
使用空白值的任何地方使用None
:
someseq[slice(2, None)]
相当于:
someseq[2:]
同样,someseq[:10:2]
可以使用由slice(None, 10, 2)
等定义的预构造slice
。
【讨论】:
以上是关于在 python 中创建切片对象的主要内容,如果未能解决你的问题,请参考以下文章