19.2 리스트 컴프리헨션
10.7 맵, 필터, 리듀스(170쪽)에서 맵과 필터 패턴을 살펴봤다. 예를 들어 다음 함수는 문자열 리스트를 받아서 문자열 메서드 capitalize를 원소에 매핑하고 새로 만든 문자열 리스트를 반환한다.
def capitalize_all(t):
res = []
for s in t:
res.append(s.capitalize())
return res
리스트 컴프리헨션(list comprehension)*을 이용하면 더 간결하게 작성할 수 있다.
def capitalize_all(t):
return [s.capitalize() for s in t]
* 역주 보통은 리스트 컴프리헨션이라고 쓰지만, 책에 따라서는 리스트 식 또는 리스트 표현식이라고도 쓴다.