Python: как найти индекс всех вхождений в списке

Чтобы найти индекс всех вхождений элемента в список Python, вы можете использовать несколько методов. Вот некоторые часто используемые подходы:

  1. Использование цикла:
    Пройдитесь по списку и проверьте каждый элемент на соответствие целевому значению. Если совпадение найдено, добавьте индекс в отдельный список.

    def find_indices_using_loop(lst, target):
       indices = []
       for i in range(len(lst)):
           if lst[i] == target:
               indices.append(i)
       return indices
  2. Использование списков.
    Список позволяет добиться того же результата.

    def find_indices_using_list_comprehension(lst, target):
       return [i for i in range(len(lst)) if lst[i] == target]
  3. Использование функции enumerate():
    Функция enumerate()позволяет перебирать список, одновременно обращаясь как к индексу, так и к элементу.

    def find_indices_using_enumerate(lst, target):
       return [i for i, x in enumerate(lst) if x == target]
  4. Использование библиотеки numpy:
    Если у вас установлена ​​numpy, вы можете использовать ее возможности индексирования массивов.

    import numpy as np
    def find_indices_using_numpy(lst, target):
       arr = np.array(lst)
       return np.where(arr == target)[0].tolist()