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

时间:2020-01-31 12:04:48

标签: python list indexing range slice

我有一个长度未知的列表A和一个切片对象,该对象指示此列表中的重要元素。如何获得相应的索引作为列表B? (所以,我得到slice(0, 5, 1)而不是[0, 1, 2, 3, 4]的意思是,即使在定义切片对象之前不知道列表的长度,对于s=slice(None, None, 20)这样的切片,它也应该起作用。 / p>

我的解决方法是:

indices_B = list(range(len(my_list_A)))[my_slice]

它可以工作,但是我感觉必须有一种更聪明的方式,也应该更容易理解。 (使用range(len(somelist))肯定是错误的)

1 个答案:

答案 0 :(得分:1)

indices_B = range(*my_slice.indices(len(my_list_A)))

https://docs.python.org/3/reference/datamodel.html#slice.indices

相关问题