【问题标题】:Why can’t we check if an index appears in a slice object?为什么我们不能检查索引是否出现在切片对象中?
【发布时间】:2019-07-20 08:33:44
【问题描述】:

在基本使用中,slice object 表示序列的整数索引的子集。为什么我不能用in 测试索引是否是该子集的成员?它可以是常数时间,类似于 (Python 3) range object 上的相应操作。

【问题讨论】:

    标签: python python-3.x slice contains


    【解决方案1】:

    因为即使是基本切片也支持负索引,所以检查包含需要知道序列的长度。您可以使用range 提供该长度:

    so=slice(b,e,s)
    r=range(n)[so]
    if i in r: # ...
    

    Python 2 中的xrange 不支持切片(或恒定时间包含检查)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      相关资源
      最近更新 更多