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

问题描述 投票:0回答:1

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

python python-3.x slice contains
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.