我是否必须在Python中导致ValueError

jjn*_*guy 4 python exception list

我有这个代码:

chars = #some list

try:
    indx = chars.index(chars)
except ValueError:
    #doSomething
else:
   #doSomethingElse
Run Code Online (Sandbox Code Playgroud)

我希望能够这样做,因为我不喜欢知道造成例外:

chars = #some list

indx = chars.index(chars)

if indx == -1:
    #doSomething
else:
   #doSomethingElse
Run Code Online (Sandbox Code Playgroud)

有没有办法可以做到这一点?

Kev*_*tle 9

请注意,后一种方法违背了EAFP普遍接受的" pythonic "哲学,或者"要求宽恕而不是许可更容易".而前者则遵循它.


Jer*_*rub 7

if element in mylist:
    index = mylist.index(element)
    # ... do something
else:
    # ... do something else
Run Code Online (Sandbox Code Playgroud)