본문 바로가기

파이썬/2. 파이썬 심화

파이썬 map, filter, reduce

Map

  • 리스트의 요소에 함수를 적용하여 iterator 객체로 반환
  • list가 아닌 iterator로 반환하는 이유는 원하는 자료구조로 변환시킬 수 있도록 하기 위함.
a = [1, 2, 3]

b = list(map(lambda x: x + 10, a))
#[11, 12, 13]

https://leejunggae.tistory.com/31

 

파이썬 람다 함수(lambda)

람다 함수 함수의 표현 방식 중 하나 lambda 인자 : 표현식 의 형태로 사용 표현식 안에서 변수를 만들 수 없음 익명함수 : 이름이 없는 함수를 만듬 -> 변수에 할당해주어야 함 def plus(x): return x + 10 x = p..

leejunggae.tistory.com

자주 같이 쓰이는 람다 함수에 대해서는 이전 포스트 참고

 

 

Filter

  • list 요소들 중 함수에 일치하는 값만 반환
  • map과 비슷하다.
  • 리턴 값은 참이나 거짓이어야 한다.
a = [1, 2, 3]

b = list(filter(lambda x: x > 1, a))  # 1보다 큰 수만 반환
#[2, 3]

 

실은 위의 기능들을 사용하지 않고도 구현할 수 있다.

 

list comprehenshion

a = [1, 2, 3]

b = [x + 10 for x in a]
#[11, 12, 13]


a = [1, 2, 3]

b = [x for x in a if x > 1]
#[2, 3]

가독성이 좋아졌다.

 

 

Reduce

  • 파이썬3 부터는 없다.