23.10 연습문제: 리스트에서 특정 요소만 뽑아내기

다음 소스 코드를 완성하여 리스트 a에 들어있는 문자열 중에서 길이가 5인 것들만 리스트 형태로 출력되게 만드세요.

practice_list_comprehension.py

a = ['alpha', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf', 'hotel', 'india']
b = [                           ]
 
print(b)

실행 결과

['alpha', 'bravo', 'delta', 'hotel', 'india']

정답

[i for i in a if len(i) == 5]

해설

리스트 a에서 길이가 5인 문자열만 리스트 b에 저장해야 합니다. 여기서는 b = [ ]와 같이 되어 있으므로 리스트 표현식으로 b를 만듭니다. 따라서 [ ](대괄호) 안에 i for i in a if len(i) == 5 를 넣어서 a에 들어있는 문자열을 모두 꺼낸 뒤 if 조건문으로 길이가 5인 문자열만 뽑아내면 됩니다. 이처럼 리스트 표현식은 숫자뿐만 아니라 문자열 등 다양한 요소를 처리할 수 있습니다.