Python

[개미의 걸음 Python 25차시] 람다(Lambda) with filter(), map()

IT개미 데이터 2020. 7. 25. 23:23
728x90

람다(Lambda)

lambda 매개변수 : 리턴값 

이름에 대한 정의 없이 단일문으로 간단하게 만드는 익명함수를 생성하기 위해 사용하는 키워드

# 익명함수

더보기

보통 한 줄로 깔끔하게 정리되는 이름이 없는 함수[lambda 키워드를 사용]

다시 쓸 일이 없는 간단한 코드들을 정의하는데 사용

간결한 코드 사용으로 메모리 절약 가능

  • 함수를 매개변수로 전달하기 위해서 함수 구문을 사용해야하는데 좀 더 간단하게 함수를 선언하기 위해 람다함수 사용
  • 람다함수는 다른 함수의 내부에 사용할수도 있어서 일반 함수안의 return값에 람다함수를 사용

 

 

함수를 매개변수로 전달하는 대표적인 표준함수(map, filter)

map(함수, 리스트) 리스트 요소를 함수에 넣고 리턴된 값들을 새로운 리스트로 구성해주는 함수
filter(함수, 리스트) 리스트 요소를 함수에 넣고 True인 것들을 리턴 값으로 반환하여 새로운 리스트로 구성하는 함수
  • map object, filter object들을 제너레이터[Generator]라고 부름

# 제너레이터[Generator]

더보기

이터레이터를 직접 만들 때 사용하는 코드

함수 내부에 yield 키워드를 사용해 제너레이터 함수로 만듬

일반함수와 달리 함수를 호출해도 함수 내부의 코드가 실행되지 않음[제너레이터 객체를 출력함]

next( )함수를 사용하면 제너레이터 객체를 함수 내부의 코드를 실행

 

# iterable[이터러블]과 iterator[이터레이터]

더보기

이터러블은 내부에 있는 요소들을 차례로 꺼낼 수 있는 객체를 의미

리스트, 딕셔너리, 문자열 튜플 등은 모두 내부에서 요소를 차례로 꺼낼 수 있는 이터러블

이터러블 중 next()함수를 적용해 요소들을 하나씩 꺼낼 수 있는 요소들을 이터레이터라고 한다.

 

 

 

 

 

728x90