리스트의 원소들을 모두 더하는 것은 일상적인 작업이므로 파이썬은 이를 내장 함수 sum으로 제공한다.
>>> t = [1, 2, 3]
>>> sum(t)
6
원소들의 시퀀스를 값 하나로 결합하는 이런 종류의 작업을 리듀스(reduce, 축약하다)라고 한다.
리스트 하나를 순회하면서 다른 리스트를 만들고 싶을 때가 있을 것이다. 예를 들어 다음 함수는 문자열로 된 리스트를 받아서 대문자로 시작하는 문자열을 담은 새로운 리스트를 반환한다.
def capitalize_all(t):
res = []
for s in t:
res.append(s.capitalize())
return res
res는 빈 리스트로 초기화된다. 즉, 루프를 돌면서 다음 원소를 뒤에 추가한다. 따라서 res도 또 하나의 누산기이다.
capitalize_all 같은 작업은 맵(map)이라고 부르는데, 시퀀스에 있는 원소 각각에 대해 함수(여기서는 capitalize 함수)를 맵(연결)하기 때문이다.