Indeks Pythona elementu na liście bez błędu? [duplikować]

Możliwy duplikat:
Python list.index question

Aby znaleźć indeks przedmiotu na liście, użyj:

list.index(x)
Return the index in the list of the first item whose value is x. 
It is an error if there is no such item.

Wydaje mi się to trochę dziwne, że wyrzuciłbym błąd, gdyby element nie został znaleziony. Tam, skąd pochodzę (obszar Objective-C), zwraca wyliczenie NSNotFound (które jest po prostu maksymalnym intem wskazującym, że element nie został znaleziony).

Więc zrobiłem coś brzydkiego, żeby to obejść:

index = 0
for item in self.items:
   if item.id == desired_id:
        return index
    index = index + 1
 return -1

Użyłem -1, aby wskazać, że element nie został znaleziony. Jaki jest lepszy sposób na to i dlaczego Python nie ma czegoś takiego?

questionAnswers(6)

yourAnswerToTheQuestion