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