为什么不能检查索引是否出现在切片对象中?

时间:2019-02-26 18:07:37

标签: python python-3.x slice contains

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

1 个答案:

答案 0 :(得分:0)

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

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

xrange不支持切片(或恒定时间遏制检查)。