Python: методы поиска индексов, в которых условие истинно в списке или массиве

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

Метод 1: использование цикла for

def find_indices(condition, lst):
    indices = []
    for i, val in enumerate(lst):
        if condition(val):
            indices.append(i)
    return indices
# Example usage
my_list = [True, False, True, False, True]
indices = find_indices(lambda x: x, my_list)
print(indices)  # Output: [0, 2, 4]

Метод 2: использование понимания списка

my_list = [True, False, True, False, True]
indices = [i for i, val in enumerate(my_list) if val]
print(indices)  # Output: [0, 2, 4]

Метод 3. Использование библиотеки NumPy (для массивов)

import numpy as np
my_array = np.array([True, False, True, False, True])
indices = np.where(my_array)[0]
print(indices)  # Output: [0, 2, 4]

Метод 4. Использование библиотеки pandas (для DataFrames)

import pandas as pd
df = pd.DataFrame({'col1': [True, False, True, False, True]})
indices = df.index[df['col1']]
print(indices)  # Output: Int64Index([0, 2, 4], dtype='int64')

Это всего лишь несколько примеров методов, которые вы можете использовать для поиска индексов, в которых условие истинно в Python. Не забудьте адаптировать код к вашему конкретному варианту использования.