lambda(), map(), filter(), reduce() 함수는 함수를 간단하게 만들어주는 함수들로 파이썬에서 프로그래밍할 때 if elif else문을 이용하여 복잡하게 하드코딩할 필요없이 한줄로 함수를 구현하게 해주는 함수들입니다.
● lambda()
lambda 인자 : 표현식
함수를 한 줄로 만들어주는 함수입니다.
와 같은 함수를 람다함수를 사용하면 함수명을 명시하지 않고 함수를 사용할 수 있습니다.
람다함수는 런타임에서 생성해 사용할 수 있는 익명함수로, 쓰고버리는 일시적인 함수입니다.
이러한 람다함수도 람다함수를 변수에 할당하여 재사용할 수 있습니다.
람다식 안에서 조건도 사용 가능합니다.
그리고 람다함수는 map, filter, reduce처럼 매개변수로 함수가 필요한 곳에 유용하게 사용할 수 있습니다.
● map()
map(함수, 리스트)
map()은 함수와 리스트를 인자로 받습니다. 그리고 그 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아줍니다.
● reduce()
reduce(함수, 순서형 자료)
reduce()는 순서형 자료인 문자열, 리스트, 튜플의 원소를 누적하여 함수에 적용시킵니다.
0과 1을 더하고, 그 결과에 3을 더하고, 그 결과에 4를 더하고를 반복합니다.
● filter()
filter(함수, 리스트)
리스트에 있는 원소들을 함수에 적용시켜 결과가 참인 값들로 새로운 리스트를 만들어주는 함수가 filter()입니다.
참고글 : Python Lambda Function