Python 有没有一种更聪明的方法来获取用切片对象切片的列表的索引?

Python 有没有一种更聪明的方法来获取用切片对象切片的列表的索引?,python,list,indexing,range,slice,Python,List,Indexing,Range,Slice,我有一个长度未知的列表和一个表示列表中重要元素的切片对象。如何获得列表B中的相应索引?(因此,在定义切片对象之前,即使我不知道列表的长度,这也应该可以工作,例如slice(0,5,1)我得到[0,1,2,3,4])以及s=slice(None,None,20) 我的解决方案如下: indices_B = list(range(len(my_list_A)))[my_slice] 这是可行的,但我觉得必须有一种更聪明、更容易理解的方法。(使用range(len(somelist))感觉绝对错误)

我有一个长度未知的列表和一个表示列表中重要元素的切片对象。如何获得列表B中的相应索引?(因此,在定义切片对象之前,即使我不知道列表的长度,这也应该可以工作,例如
slice(0,5,1)
我得到
[0,1,2,3,4]
)以及
s=slice(None,None,20)

我的解决方案如下:

indices_B = list(range(len(my_list_A)))[my_slice]
这是可行的,但我觉得必须有一种更聪明、更容易理解的方法。(使用
range(len(somelist))
感觉绝对错误)

index\u B=range(*my\u slice.index(len(my\u list\u A)))

我认为您必须转换为列出每个范围:范围支持大多数列表操作(它们是正确的序列),而且它们非常便宜。如果您需要将其传递给仅适用于实际列表的对象,那么是的,但这是一个单独的问题。OP问题表示所需的输出是一个列表您的代码将不适用于my_slice=slice(无,无,20)“OP问题表示所需的输出是一个列表”OP需要索引,他们从来没有说他们需要一份清单