Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Tistory
- 서평단
- MySQL
- matplotlib
- 딥러닝
- 한빛미디어
- Google Analytics
- MATLAB
- 한빛미디어서평단
- 시각화
- tensorflow
- Pandas
- Python
- 월간결산
- 리눅스
- SQL
- 서평
- Visualization
- 텐서플로
- 통계학
- 파이썬 시각화
- 블로그
- 파이썬
- 티스토리
- Blog
- python visualization
- Linux
- 독후감
- Ga
- 매틀랩
Archives
- Today
- Total
pbj0812의 코딩 일기
[PYTHON] reduce 본문
0. 목표
- python reduce 학습
1. 실습
1) 문제1 : 아래 리스트 내부에 존재하는 숫자들을 전부 합하여라.
test = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(1) 방법1 : for 문을 통한 해결
- 결과 : 55
result = 0
for i in test:
result = result + i
print(result)
(2) 방법2 : reduce 사용
- 내장함수가 아니기에 호출 필요
- 결과 : 55
* 사용방법 : reduce(함수, 리스트, 초기값(생략가능))
from functools import reduce
result = reduce((lambda x, y : x + y), test)
print(result)
2) 문제2 : 아래 dict의 age의 합을 구하여라.
test2 = [{'name' : 'a', 'age' : 1}, {'name' : 'b', 'age' : 2}, {'name' : 'c', 'age' : 3}]
- reduce를 사용한 해결
- 초기값 0을 적어주지 않으면 에러 발생
result2 = reduce((lambda x, y : x + y['age']), test2, 0)
print(result2)
- 결과 : 6
3) 응용
- 결과 : 55
test3 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def test(inp1, inp2):
return inp1 + inp2
result3 = reduce(test, test3)
print(result3)
2. 참고
- (파이썬) functools 모듈의 reduce 함수
- 맵 & 필터함수
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[PYTHON] next, send, iter (0) | 2020.06.07 |
---|---|
[PYTHON] 삼항연산자 (0) | 2020.06.06 |
[PYTHON] filter (0) | 2020.06.02 |
[PYTHON] map 사용하기 (0) | 2020.06.02 |
[PYTHON] Debugging (0) | 2020.06.01 |
Comments