๋ฐ์ํ

๐ accumulate
๋ป์ผ๋ก๋ ์ถ์ ํ๋ค?
ํ๋ง๋๋ก ๋์ ๋ ํฉ์ ๋ฝ์์ฃผ๋ ๋ ์
๐ต ์ฌ์ฉ๋ฒ
from itertools import accumulate
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = list(accumulate(a))
print(a) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(b) # [1, 3, 6, 10, 15, 21, 28, 36, 45, 55]
๊ฐ์ด ์ ์ ๋ก ๋์ ๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๊ฒ์ ์ ์ฌ์ฉํ๋๋ํ๋ฉด
์ฌ์ค for๋ฌธ ๋ง์ผ๋ก๋ ๊ฐ์ ๋์ ํ ๋ฆฌ์คํธ๋ฅผ ๋ฝ์ ์ ์์ง๋ง ์๋๋ฉด์์ ํฐ ์ฐจ์ด๊ฐ ๋๋ค.( ํนํ ๊ฐ์ด ์ปค์ง๋ฉด ์ปค์ง์๋ก )
๐ต ์๋ ์ธก์
1๋ฒ for๋ฌธ
a = [x+1 for x in range(1000000)]
for i in range(1, len(a)):
a[i] += a[i-1]
2๋ฒ accumulate
a = [x+1 for x in range(1000000)]
b = list(accumulate(a))
์คํ ์ฝ๋ | ๊ฐ | ์๋ |
for๋ฌธ | 10๋ง | 0.01894974708557129 |
accumulate | 10๋ง | 0.004986286163330078 |
for๋ฌธ | 1000๋ง | 1.868004560470581 |
accumulate | 1000๋ง | 0.766948938369751 |
accumulate๊ฐ ํ์คํ ๋น ๋ฅธ๊ฒ์ ๋ณผ ์ ์๋ค. ๋ง์ด ์ฌ์ฉํ ์ผ์ ์๊ฒ ์ง๋ง ์์๋๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
๋ฐ์ํ
'Programming language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] F-String (0) | 2020.09.06 |
---|---|
[python] filter (2) | 2020.08.31 |
[python] defaultdict (0) | 2020.08.29 |
[python] pow, ์ ๊ณฑ, ๊ฑฐ๋ญ์ ๊ณฑ๊ณผ ๋๋จธ์ง (0) | 2020.08.28 |
[python] input, sys.stdin.readline (0) | 2020.08.27 |