получить данные в следующем формате:обратного индекс последнего ненулевого элемента в списке
[-2, -2, 0, 0, 0, 0, 0]
[-2, 20, -1, 0, 3, 0, 0]
с каждой линией другим входа. Списки могут быть длиннее 7 элементов. Мне нужно вернуть индекс позиции последнего ненулевого элемента, так:
[-2, -2, 0, 0, 0, 0, 0]
>>> 1
[-2, 20, -1, 0, 3, 0, 0]
>>> 4
Следующий код делает это большую часть времени:
def getIndex(list):
for element in reversed(list):
if element != 0:
return list.index(element)
Однако, это не работает, когда являются двумя одинаковыми номерами, как в первом примере выше, который возвращает 0
, потому что -2
находится как в 0-й, так и в 1-й позиции списка.
Как получить индекс последнего ненулевого элемента списка, даже если есть элементы с одинаковым значением?
очень хорошее использование 'next'! +1 –