2014-12-21 2 views
-4

목록의 색인 오류를 어떻게 처리합니까? Python?Python 3에서 list.index (x) 오류 처리

이 문자열 인 경우, 나는 다음을 수행 할 수 있습니다

if text.find("blah")!=-1: 

내가 !=-1이 목록에 사용할 수없는 이유를 알고,하지만 어떻게 당신이 코드 블록을받을 수 있나요가 list.index(x)하지 않는 경우에만 실행되도록 오류를 반환합니까? "blah"text 어디에서나 발생하면 그것은 평가합니다이

if "blah" in text: 

같은

답변

3

사용 in 운영자는 Truthy 수 있습니다.

마찬가지로,이

if key in list_object: 

주와 같은 목록 객체와 같은 in 연산자를 사용할 수 있습니다를 목록의 경우, 당신은 요소의 실제 인덱스를 얻을 수 list.index를 사용해야합니다. -1을 반환하지 않지만 검색 값이 목록에 없으면 ValueError을 던집니다.

+0

고맙습니다! 이게 내 문제를 해결했습니다! – aswathy

1
try: 
    lst.index(10) 
    #Do something 
    #executes if it doesnot throws any error. 
except ValueError: 
    print "something" 
    #if list.index returns an error 

예외는 오류가 실행될 때 죽어가는 것을 제한하는 매우 우아한 방법입니다.

+1

사실 그렇지만 이것은 완벽 할 것입니다. 정확한 예외를 썼습니다. – jamylak

+1

여기에 'ValueError'를 잡기 만하면됩니다 :'ValueError 제외 : '. 모든 가능한 예외를 잡는 것은 나쁜 습관입니다. –

+0

귀중한 의견을 보내 주셔서 감사합니다. – ZdaR