독학하는 학생의 정리노트

독학하며 정리노트를 올리는 학생 공부 블로그입니다.

IT 프로그래밍/Python 파이썬

Lambda, map(),filter(),reduce() 람다란?

공부 안 하는 학생 2020. 10. 18. 13:57

iterable를 공부하는 와중 람다라는 것을 많이 들어봤는데 뭔지 몰라 공부하게 되면서 작성된 노트입니다.

 

파이썬에서 lambda는 런타임에 생성해서 사용할 수 있는 익명 함수입니다. 이것은 함수형 프로그래밍 언어에서 lambda와 정확히 똑같은 것은 아니지만, 파이썬에 잘 통합되어있스빈다. filter(), map(), reduce()와 같은 전형적인 기능 개념과 함께 사용되는 매우 강력한 개념입니다.

lambda는 쓰고 버리는 일시적인 함수 입니다. 함수가 생성된 곳에서만 필요하다.

***iterable = list***

map(function, iterable,..)

function는 함수이름이고 두번째 인자 iterable은 한번에 하나의 멤버를 반환할 수 있는 객체입니다. (list, str, tuple)(map() 함수는 function을 iterable의 모든 요소에 대해 적용한다.

= 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아준다.

예시

 

filter(function,iterable)

function은 처리되는 각각 요소에 대해 boolean값을 반환한다. true를 반환하면 그 요소는 남게 되고, False를 반환하면 그 요소는 제거됩니다.

= 리스트에 들어있는 원소들을 함수에 적용시켜서 결과가 참인 값들로 새로운 리스트를 만들어줍니다.

 

Reduce(함수,순서형 자료)

원소들을 누적적으로 함수에 적용시킨다.

0과 1를 더하고, 그 결과에 2를 더하고, 거기다가 3을 더하고 ~~ 쉬우니 다음 예제를 보자

아까는 x + y였지면 지금은 y + x이다. 숫자형이면 상관없는데 문자형태다. 저말은 간단히 위 문자열을 반대로 더하라는 말이다

offbyone.tistory.com/73

 

파이썬 문법 5 - 람다(lambda) 함수

파이썬에서 "lambda" 는 런타임에 생성해서 사용할 수 있는 익명 함수 입니다. 이것은 함수형 프로그래밍 언어에서 lambda와 정확히 똑같은 것은 아니지만,  파이썬에 잘 통합되어 있으며 filter(), map

offbyone.tistory.com

wikidocs.net/64

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

위키독스 생각보다 좋습니다! 요즘 바쁜 공부 안하는 학생입니다.