在 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 中创建切片对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt 中创建 3D 对象模型的 2D 切片?

在 Go 中创建 2D 切片的简洁方法是啥?

在 R 中创建切片树

没有副本的Python切片? [复制]

数据可视化之powerBI基础(十四)Power BI中创建联动切片器

创建数组的随机切片以分配给另一个对象数组