#1 LAMBDA(람다)
` 구성
lambda argumnet : command
함수를 한 줄로 표현하는 방식이다. 예시는 다음과 같다.
` 예시
## 1 : 두 수를 더하는 함수
def sum_a(i, j):
return i + j
a = sum_a(1, 2) # 3
상기와 같은 함수를 lambda를 이용하면 다음과 같이 한 줄로서 표현할 수 있다.
(lambda i, j: i + j)(1, 2) #3
#2 Map( )
맵 함수는 인자로 함수와 리스트를 받는다. 각각의 인자를 받고 리스트 혹은 함수로 부터 원소를 하나씩 꺼내서 적용시킨 다음, 그 결과를 새로운 리스트에 담아서 리턴한다. 구성과 예시는 다음과 같다.
` 구성
map( function, list )
` 예시
map(lambda i : i * 10, range(10)) //
list(map(lambda i : i * 10, range(10))) // [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
map 함수를 사용하고 난 뒤 리턴된 값은 리스트 안에 담아서 확인할 수 있다.
#3 reduce( )
시퀀스에 원소들을 누적하여 함수에 적용시키는 기능을 갖고 있다. 구성과 예시는 다음과 같다.
` 구성
from functools import reduce # python 3~
reduce( function, sequence )
` 예시
from functools import reduce
reduce(lambda i, j : i + y, [ 0 , 1 , 2 , 3 , 4] # 10
상기의 예시는 리스트에서 0과 1을 더하고 그 값에 2를 더하고 그 값에 3을 더하는 식의 로직이 적용된 상태로 나온 값이 10이되는 것이다.
#4 filter( )
filter는 사용할 리스트에 들어있는 원소들을 함수에 적용시켜서 결과가 참인 값들로 새로운 리스트를 리턴하는 기능을 갖고 있다. 구성과 예시는 다음과 같다.
` 구성
filter(function, list)
` 예시
filter(lambda i : i < 5, range(10))
list(filter(lambda i : i < 5, range(10))) // [0, 1, 2, 3, 4]
인자로 받은 리스트에서 값을 하나씩 꺼내서 적용할 함수에 적용하고 그 값이 참(True)일 경우에만 리턴하여 새로운 리스트에 담는 기능을 갖고 있다. 이러한 필터로 다음과 같은 로직도 실행할 수 있다.
' 예시
list(filter(lambda i: i % 2, range(10))) // [ 1, 3, 5, 7, 9 ]
파이썬은 참(True)은 1로처리하고 그외의 값은 거짓(False)로 처리하는 것을 이용하여 홀수를 찾는 로직이다.
출처 : wikidocs.net/64
'Language > Python' 카테고리의 다른 글
2021 - 04 - 17, Python 학습 - 정규표현식(Regular Expression) (0) | 2021.04.17 |
---|---|
2021 - 04 - 17, Python 학습 - os모듈 (0) | 2021.04.17 |
2021 - 04 - 15, Python 학습 - 문법 3 (0) | 2021.04.15 |
2021 - 04 - 15, Python 학습 - 문법 2 (0) | 2021.04.15 |
2021 - 04 - 15, Python 학습 - 문법 1 (0) | 2021.04.15 |