Чтобы найти индексы, в которых условие истинно, в списке или массиве 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. Не забудьте адаптировать код к вашему конкретному варианту использования.