상세 컨텐츠

본문 제목

파이썬 map, filter, reduce 개념정리

IT 공부/데이터분석

by 듀_77 2020. 7. 17. 22:05

본문

반응형

1-43~45

함수를 적용한 결과들을 리스트로 나열하고 싶을 때 쓰는

map함수!

 

그리고 조건식에 맞게 True인 데이터만 뽑아내는

filter 함수!

 

리스트데이터를 누적 계산시켜주는 

reduce함수를 배웠다.

#1-43.

map, filter, reduce는 print 함수처럼

파이썬에서 이미 만들어놓은 함수이다.

 

map의 docstring을 확인하면, 

*iterables가 뜨는데,

* 별이 하나 있다는 건!

 

반드시 iterables(순서가 있는) list나 tuple데이터를 쓰라는 것.

키워드가 있는 dictionary는 쓸 수 없다는 것!

 

map은 list의 각각의 요소에 [1,2,3,4]

함수를 적용시켜서 나온 결과로 다시 리스트를 만들고 싶을 때 쓴다.

 

→ 함수를 적용시킨 결과로

리스트를 만들고 싶을때 map 활용

(함수를 사용한 결과를! 리스트 형변환 시키고 싶을때 씀)

 

레드박스

1. map에 odd_even, ls를 집어넣는다.

2. 리스트의 1이 odd_even에 들어감.

3. 25행 함수가 적용시켜서 나온 결과가

odd, even, odd, even 나옴.

4. 이를 list로 출력하고 싶으니까 map을 쓴 것.

 

원래 datas. split 결과는

['10','20','30','40','10','20','14'] 로 나와야하고.

 

result=list(map(int,result))는

[10,20,30,40,10,20,14] 이 형태로 나와야한다.

 

1. split으로 문자열을 다 잘라놓고,

2. 그걸 int와 list (셀 수 있는) 형태로 변환시키는 것.

 

*

실행을 했더니 split함수가 안 먹혀서

위에 실행결과를 이렇게 적어놨다.

 

1-45. filter와 reduce

 

1. ls의 범위를 10으로 설정

2. 홀수만 출력하는 함수 만들기.

3. 삼항연산자 처럼 쓰이는 람다 데이터 형식으로 써준다.

 

리스트(필터(람다: 조건, ls)) 

 

크게 위와 같은 구조.

 

람다의 구조는 크게

lambda a,b(파라미터): a+b (리턴되는 부분의 수식)

이렇게 된다.

 

1. data를 파라미터로 침.

lambda data:

 

2. 조건 수식 (ls의 True, False 뽑아내는)

 

3. filter 써주고, 마지막으로 list 형변환.

 

map과 filter 함수가 작동하는 방식이다.

 

[map]

1. ls[1,2,3,4]의 데이터를 func이 하나씩 작동

2. map의 경우 함수가 2개 올 수도 있다. 

 

[filter]

filter의 경우 True와 False 형태로 데이터를 뽑는다.

그래서 True인 것만 뽑아져 나온 것.

 

함수를 1개만 사용 가능하다.

map은 *iterable이라고 별표가 있다.

이 뜻은 순서가 있는 데이터가 여러 개 올 수 있다는 것.

 

filter는 별표가 없다.

순서가 있는 데이터가 하나만 올 수 있다는 것.

 

reduce 사용법을 docstring을 통해 확인해보니.

 

lambda 형식으로 데이터를 넣어주면

((1+2)+3+4+5)) 형태로 계산이 된다고 나온다.

 

1. 1,2를 넣어서 더하기 실행

2. 위에 결과 데이터로 3을 넣어서 또 더함.

3. 위의 결과로 4을 넣어서 또 더함.

(5까지)

 

lambda function이 실행되는데

1. 3,1이 (x,y)에 들어가서 4 리턴

2. 4(결과값)과 2가 (x,y)에 들어가서 6리턴

3. 6(결과값)과 4가 (x,y)에 들어가서 10 리턴

4. 10(결과값)과 5가 (x,y)들어가서 15리턴 

 

*

그리고 주피터 노트북 꿀팁!

Ctrl+alt 누른 상태면

멀티라인 선택이 가능하다.

 

 

▶split 함수 알아보기

https://tourspace.tistory.com/304

 

[Python] 파이썬 #1 - 문자열 함수

파이썬의 string 함수를 정리해 봅니다. 대소문자, 문자열의 구성 판별 sample = " www.abcde.com Wow! Suprise~ " # 소문자 변환 print("lower(): " + sample.lower()) # 대문자 변환 print("upper(): " + sample..

tourspace.tistory.com

 

반응형

관련글 더보기

댓글 영역