함수를 적용한 결과들을 리스트로 나열하고 싶을 때 쓰는
map함수!
그리고 조건식에 맞게 True인 데이터만 뽑아내는
filter 함수!
리스트데이터를 누적 계산시켜주는
reduce함수를 배웠다.
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. 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
파이썬패키지 정리 및 name is not defined 오류 (0) | 2021.01.11 |
---|---|
파이썬 Decorator 개념완벽정복 (0) | 2020.07.19 |
파이썬 inner,callback,lambda function (0) | 2020.07.17 |
파이썬 return과 args 및 kwargs개념 (0) | 2020.07.14 |
파이썬 Docstring, scope 개념정리 (0) | 2020.07.13 |
댓글 영역