또 하나의 흔한 작업으로는 리스트에서 원소들의 일부를 선택해서 서브리스트를 반환하는 것이다. 예를 들어 다음 함수는 문자열로 된 리스트를 받아서 대문자 문자열만 들어있는 리스트를 반환한다.
def only_upper(t):
res = []
for s in t:
if s.isupper():
res.append(s)
return res
isupper는 문자열이 모두 대문자이면 True를 반환하는 문자열 메서드다.
only_upper 같은 작업은 필터(filter)라고 하는데, 이는 원소들 중에 일부를 선택하고, 나머지는 필터하기(걸러내기) 때문이다.
리스트에서 가장 일반적인 작업은 맵, 필터, 리듀스 조합으로 표현할 수 있다.