Chcę odnaleźć ostatnie wystąpienie elementu "x" w sekwencji 's' lub zwrócić None, jeśli nie ma i pozycja pierwszego elementu jest równa 0znajdowanie ostatniego wystąpienia pozycji na liście python
to co obecnie mam:
def PositionLast (x,s):
count = len(s)+1
for i in s:
count -= 1
if i == x:
return count
for i in s:
if i != x:
return None
Kiedy próbuję:
>>>PositionLast (5, [2,5,2,3,5])
>>> 4
to jest prawidłowa odpowiedź. Jednak przy zmianie „X” do 2 zamiast 5 otrzymuję to:
>>>PositionLast(2, [2,5,2,3,5])
>>> 5
Odpowiedź tutaj powinno być 2. Jestem zdezorientowany, jak to ma miejsce, jeśli ktoś mógłby wyjaśnić, co muszę poprawne, będę wdzięczny. Chciałbym również uzupełnić to o najbardziej podstawowy kod możliwy.
Dziękuję.
Możliwy duplikat [Znajdowanie pierwszego i ostatniego indeksu pewnej wartości na liście w Pythonie] (http://stackoverflow.com/questions/522372/finding- first-and-last-index-of-some-value- in-a-list-in-python) –