python 中的某些内容类似于多次出现的索引方法

Something in python similar to index method for multiple ocurrences

python 中是否有一些函数可以实现 index() 方法的功能,但考虑到多次出现?我知道对于字符串还有 rfind() 方法,这对列表有帮助,但对列表没有帮助。

P.S.: 我知道你可以使用列表理解并且有成千上万的例子,但我正在寻找 python 或那个固有的预定义函数可以通过一些包获得。

,如您所知,

def find_indexes(lst, val):
    return [i for i,v in enumerate(lst) if v == val]

会起作用。如果你不喜欢使用函数而不是对象自己的方法,你可以为此构建一个自己的 class:

class MultiIndexList(list):
    def multi_index(self, val):
        return [i for i,v in enumerate(self) if v == val]

然后你就可以像

一样使用它了
>>> lst = MultiIndexList((1, 2, 3, 1, 5, 3, 2, 4, 5, 1, 2))
>>> lst.multi_index(1)
[0, 3, 9]