반응형

 

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