AI/python AI

python - lambda & map & reduce

코딩 코딩 코오딩 2022. 5. 30. 18:43

이 자료는 네이버 부스트 코스에서 제공하는 자료로 만들어졌습니다.

 

- lambda

람다의 특징으로는 사용하는 것은 권하지 않으나 아직 많이 사용된다고 한다.

람다의 문제로는 

- 어려운 문법

- 테스트의 어려움

- 문서화 docstring 지원 미비

- 코드 해석의 어려움

- 이름이 존재하지 않는 함수의 출현

- 그래도 많이 쓴다...

lambda 변수 설정 : 함수 정의 

의 구조를 가지게 된다. 

 

 

- map

- 두 개 이상의 list에도 적용 가능함, if filter도 사용가능

입력 값이 두개인 경우에는 나란히 적어주면 된다. f, ex, ex 이런 식으로 적어주면 된다.

 

- python3 는 iteration을 생성  list을 붙여줘야 list 사용가능

- 실행시점의 값을 생성, 메모리 효율적

map 함수는 연속된 리스트의 값들을 연결 시켜 준다고 생각하면 좋다. 

위의 예로는 람다의 함수를 각각의 ex의 요소와 연결 시켜준다. 

 

이 함수는 통합을 해주는 것이다. 처음에는 x= 1 , y = 2 

다음은 x = 1+2 , y =  3 이런 식으로 넘어가게 된다. 

차후에 대용량의 데이터를 다룰 때 많이 사용한다고 한다. 

 

- Lambda, map, reduce는 간단한 코드로 다양한 기능을 제공

- 그러나 코드의 직관성이 떨어져서 lambda나 reduce는 python3에서 사용을 권장하지 않음

- Legacy library나 다양한 머신러닝 코드에서 여전히 사용중

반응형