Есть альтернатива list.index(i)?
list.index(i) возвращает положение первого элемента со значением i. Мне же нужно, чтобы возвращалось положение каждого элемента со значением i. Есть ли альтернатива? Бонусный вопрос: а почему именно первый элемент? Откуда такое ограничение?
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
my_list = [1,2,3,4,1,5,6,1,8,9,1,1,0]
searchfor = 1
indices = [x[0] for x in list(enumerate(my_list)) if x[1]==searchfor]
print(indices)
Результат:
[0, 4, 7, 10, 11]
Первый индекс возвращается потому, что так было задумано - это быстрый метод, он должен вернуть наименьший индекс, по возможности, избежав прохода по всему итерируемому объекту.