🌱 → 🌳

python reduce ν•¨μˆ˜ λ³Έλ¬Έ

Server/Python

python reduce ν•¨μˆ˜

thals0 2023. 8. 13. 12:31
728x90

reduce ν•¨μˆ˜

파이썬의 functols λ‚΄μž₯ λͺ¨λ“ˆμ˜ reduce() ν•¨μˆ˜λŠ” μ—¬λŸ¬ 개의 데이터λ₯Ό λŒ€μƒμœΌλ‘œ 주둜 λˆ„μ  집계λ₯Ό λ‚΄κΈ° μœ„ν•΄μ„œ μ‚¬μš©λ¨

 

κΈ°λ³Έ 문법은 μ•„λž˜μ™€ κ°™μŒ 

reduce(집계 ν•¨μˆ˜, 순회 κ°€λŠ₯ν•œ 데이터[, μ΄ˆκΈ°κ°’])

기본적으둜 μ΄ˆκΈ°κ°’μ„ κΈ°μ€€μœΌλ‘œ 데이터λ₯Ό 루프 λŒλ©΄μ„œ 집계 ν•¨μˆ˜λ₯Ό κ³„μ†ν•΄μ„œ μ μš©ν•˜λ©΄μ„œ 데이터λ₯Ό λˆ„μ ν•˜λŠ” λ°©μ‹μœΌλ‘œ μž‘λ™

 

집계 ν•¨μˆ˜λŠ” λ‘κ°œμ˜ 인자λ₯Ό λ°›μ•„μ•Ό 함

첫번째 μΈμžλŠ” λˆ„μ μž(accumulator), λ‘λ²ˆμ§Έ μΈμžλŠ” ν˜„μž¬κ°’(current value)κ°€ λ„˜μ–΄μ˜€κ²Œ 됨

λˆ„μ μžλŠ” ν•¨μˆ˜ μ‹€ν–‰μ˜ μ‹œμž‘λΆ€ν„° λκΉŒμ§€ κ³„μ†ν•΄μ„œ μž¬μ‚¬μš©λ˜λŠ” 값이고, ν˜„μž¬κ°’μ€ 루프 λŒλ©΄μ„œ κ³„μ†ν•΄μ„œ λ°”λ€ŒλŠ” κ°’

 

예λ₯Ό λ“€μ–΄ arr의 λͺ¨λ“  μš”μ†Œλ₯Ό κ³±ν•œλ‹€κ³  κ°€μ •ν–ˆμ„ λ•Œ 

from functools import reduce

answer = reduce(lambda x, y: x * y, arr)

이런 μ‹μœΌλ‘œ μ‚¬μš©ν•  수 있음 

 

reference

https://www.daleseo.com/python-functools-reduce/

 

파이썬 reduce ν•¨μˆ˜ μ‚¬μš©λ²•

Engineering Blog by Dale Seo

www.daleseo.com

 

728x90