반응형
def f(x):
return x * x
X = [1,2,3,4,5]
list(map(f,X)) # 출력 : [1,4,9,16,25]
Y = list(map(lambda a : a * a, X)) # 출력 : 출력 : [1,4,9,16,25]
P = [1,2,3,4,5]
Q = [6,7,8,9,10]
Z = list(map(lambda x , y : x + y ,P, Q)) # 출력 : [7,9,11,13,15]
# ------------------- filter ---------------------------
f = filter(lambda x : x + 2 , [1,2,3,4])
print(list (f)) # 출력 : [1 ,2 ,3 ,4]
map(적용할 함수, 적용시킬 대상)
컨테이너객체에 있는 요소들을 하나씩 적용할 함수를 적용시킵니다.
X = [1,2,3,4,5]
list(map(f,X)) # 출력 : [1,4,9,16,25]
여기에서 f라는 함수를 X라는 리스트에 하나씩 적용시켰기 때문에 이렇게 나오게 됩니다.
lambda라는것이 있는데 이것도 함수를 만들어 줍니다.
lambda 인자값 : 리턴값 , 적용시킬 것 이러한 구조입니다.
Z = list(map(lambda x , y : x + y ,P, Q)) # 출력 : [7,9,11,13,15]
x, y를 인자값으로 받아 x + y를 한 것을 출력합니다. 매개변수는 P, Q입니다.
이와 비슷한 기능을하는게 filter함수입니다.
filter(적용할 함수, 적용시킬 대상)
그와 다르게 filter 함수는 함수를 사용해도 참 거짓을 구분하지 map처럼 적용시켜 바뀌는 건 아닙니다.
반응형
'파이썬 (추후 수정)' 카테고리의 다른 글
파이썬 상속 (0) | 2021.07.20 |
---|---|
파이썬 클래스 (0) | 2021.07.20 |
파이썬 Try except finally (0) | 2021.07.18 |
파이썬 Math 관련 함수 (0) | 2021.07.18 |
파이썬 이중for문 (0) | 2021.07.18 |