【问题标题】:Creating a slice object in python在 python 中创建切片对象
【发布时间】:2016-10-04 11:37:29
【问题描述】:

如果我有一个数组a,我知道如何以各种方式对其进行切片。具体来说,要从任意第一个索引切片到数组末尾,我会做a[2:]

但是我如何创建一个切片对象来实现同样的目的呢?创建documented 的切片对象的两种方法是slice(start, stop, step)slice(stop)

因此,如果我像在 a[2:] 中那样传递单个参数,slice 对象会将其解释为停止索引而不是起始索引。

问题:如何将索引传递给具有起始索引的slice 对象,并获得一个一直切片到末尾的切片对象?我不知道列表的总大小。

【问题讨论】:

  • 你想切片什么?你在寻找类似stackoverflow.com/questions/2936863/… 的东西吗?
  • 对空白部分使用“无”。因此,可以使用以下方式创建反转习语 [::-1]:reversing_slice=slice(None,None,-1)
  • @RufusVS:为什么要在发布两年后添加一条复制已接受答案的评论?
  • @ShadowRanger 在阅读答案之前我必须发表评论,因为我看到我也赞成接受的答案。我现在年纪大了,(希望)更聪明了。

标签: python python-3.x slice


【解决方案1】:

在基于语法的slice 使用空白值的任何地方使用None

someseq[slice(2, None)]

相当于:

someseq[2:]

同样,someseq[:10:2] 可以使用由slice(None, 10, 2) 等定义的预构造slice

【讨论】:

    猜你喜欢
    • 2019-05-28
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多