Desidero trovare l'ultima occorrenza di un elemento 'x' in sequenza 's', o di restituire None se non c'è nessuno e la posizione del primo elemento è uguale a 0trovare l'ultima occorrenza di un elemento in un python elenco
Questo è quello che ho attualmente:
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
quando provo:
>>>PositionLast (5, [2,5,2,3,5])
>>> 4
Questa è la risposta corretta. Tuttavia quando cambio 'x' per 2 invece di 5 ottengo questo:
>>>PositionLast(2, [2,5,2,3,5])
>>> 5
La risposta qui dovrebbe essere 2. Sono confuso su come questo si sta verificando, se qualcuno potrebbe spiegare a cosa ho bisogno per corretto sarei grato. Vorrei anche completare questo con il codice più semplice possibile.
Grazie.
Possibile duplicato di [Trovare il primo e l'ultimo indice di qualche valore in una lista in Python] (http://stackoverflow.com/questions/522372/finding-first-and-last-index-of-some-value- in-a-list-in-python) –