2014-11-16 2 views
1

나는이 기능이? if 조건을 제거하기 만하면됩니다. 이런 식으로 뭔가 :파이썬 빈리스트 예외

def foo(list): 
    try: 
     a = list 
     return a 
    except: 
     return None 
+0

첫 번째 기능은 이해할 수 없습니다. - 'a not :'는 항상 'True'가 될 것입니다 ... 또한 변수 이름으로'list'를 사용하지 마십시오. –

+2

또한 왜 빈리스트 대신에'None'을 돌려 주길 원합니까? 빈 목록은 이미 부울 값'False'로 평가됩니다. 그렇다면 질문 뒤에 오는 추론은 무엇입니까? –

+2

[XY 문제] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)처럼 들립니다. 실제로 목록으로 무엇을하고 싶습니까? * 왜 * 비어 있는지 확인하고 싶습니까? –

답변

3

난 그냥 return l if l else None을 사용, 당신은 인덱스 목록을 시도 할 수 있지만 그것을 권하고 싶지 않다.

+2

예기치 않은 오류를 숨길 수 있으므로 'except'만 사용하는 것이 좋습니다. 대신'except IndexError'를 사용하십시오. – stalk

+0

@stalk, true, added, 나는 전혀 사용하지 않을 것입니다. 단지 그것이 가능하다는 것을 보여 주려했습니다. –