더북(TheBook)

리스트 컴프리헨션을 이용해서 다음과 같이 재작성할 수 있다.

def only_upper(t):

return [s for s in t if s.isupper()]

리스트 컴프리헨션은 간단한 표현식을 더 간결하고 읽기 쉽게 해준다. 그리고 일반적인 루프보다 더 빠르고, 때로는 훨씬 더 빠를 때도 있다. 리스트 컴프리헨션을 이제서야 설명하느냐고 나에게 화를 낼 수도 있다고 생각한다.

그러나 변명을 하자면 리스트 컴프리헨션은 루프 안에 print 문을 넣을 수 없기 때문에 버그를 고치는 게 더 어려워진다. 그래서 컴퓨테이션을 간단하게 할 수 있을 때만 리스트 컴프리헨션을 쓰는 것을 권한다. 그렇다고 초보자는 절대 쓰지 말라는 얘기는 아니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.