Language-LAB/Python
range ์ np.arange()
JS LAB
2025. 2. 10. 19:39
728x90
๋ฐ์ํ
๐น range() vs np.arange() ์ฐจ์ด์
๋ ๋ค ์ซ์์ ๋ฒ์๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ ํ์ง๋ง, ๋ฐ์ดํฐ ํ์ ๊ณผ ๋์ ๋ฐฉ์์ด ๋ค๋ฆ.
1. range(start, stop, step) (๊ธฐ๋ณธ Python ๋ฌธ๋ฒ)
for i in range(0, 10, 2):
print(i)
์ถ๋ ฅ
0
2
4
6
8
- range()๋ ์ ์๋ง ์ง์.
- range(0, 10, 2) → 0, 2, 4, 6, 8์ด ์์ฑ๋จ.
- list(range(0, 10, 2)) ํ๋ฉด [0, 2, 4, 6, 8] ๋ฆฌ์คํธ๋ก ๋ณํ ๊ฐ๋ฅ.
โ range()๋ Python์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ด๋ผ ๊ฐ๋ณ๊ณ ๋น ๋ฆ.
2. np.arange(start, stop, step) (NumPy ํจ์)
import numpy as np
for i in np.arange(0, 10, 2):
print(i)
์ถ๋ ฅ
0
2
4
6
8
- np.arange()๋ ์ ์๋ฟ๋ง ์๋๋ผ ์ค์๋ ์ง์.
- np.arange(0, 10, 2) → array([0, 2, 4, 6, 8]) (NumPy ๋ฐฐ์ด ๋ฐํ)
- ๋ฆฌ์คํธ๋ก ๋ณํํ๋ ค๋ฉด .tolist() ์ฌ์ฉ.
โ NumPy ๋ฐฐ์ด์ ๋ค๋ฃฐ ๋ ์ ์ฉํ๊ณ , ์ค์(float) ๋ฒ์๋ ์ง์ ๊ฐ๋ฅ.
3. range()์ np.arange()์ ์ฃผ์ ์ฐจ์ด์
์ฐจ์ด์ range() np.arange()
์ง์ํ๋ ํ์ | **์ ์(int)**๋ง ๊ฐ๋ฅ | ์ ์(int) & ์ค์(float) ์ง์ |
๋ฐํ ๊ฐ | range ๊ฐ์ฒด (๋ฆฌ์คํธ ๋ณํ ํ์) | NumPy ๋ฐฐ์ด (numpy.ndarray) |
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ | ์์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ (์ดํฐ๋ ์ดํฐ ๋ฐฉ์) | ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ (๋ฐฐ์ด ์์ฑ) |
์๋ | ๋ ๋น ๋ฆ | NumPy ์ฐ์ฐ ์ต์ ํ๋จ (๋๋ ๋ฐ์ดํฐ์ ์ ๋ฆฌ) |
4. np.arange()๊ฐ ํ์ํ ๊ฒฝ์ฐ
- ์ค์(float) ๋ฒ์๋ฅผ ์ฌ์ฉํ ๋
import numpy as np
print(np.arange(0, 1, 0.1)) # 0.1 ๊ฐ๊ฒฉ์ผ๋ก ์ซ์ ์์ฑ
์ถ๋ ฅ
[0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]
→ range()๋ ์ค์๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ np.arange()๊ฐ ํ์ํจ.
- NumPy ๊ธฐ๋ฐ ์ฐ์ฐ์ ํ ๋
arr = np.arange(0, 10, 2)
print(arr * 2) # ๋ฐฐ์ด ์์ ์ ์ฒด์ ์ฐ์ฐ ์ ์ฉ ๊ฐ๋ฅ
์ถ๋ ฅ
[ 0 4 8 12 16]
→ NumPy ๋ฐฐ์ด์ด๋ฏ๋ก ๋ฒกํฐ ์ฐ์ฐ์ด ๊ฐ๋ฅ (์ผ๋ฐ range()๋ ๋ถ๊ฐ๋ฅ)
5. for ๋ฃจํ์์ range() vs np.arange()
์ฝ๋ ๋์ ๋ฐฉ์ ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น?
for i in range(0, 10, 2): | 0, 2, 4, 6, 8์ ํ๋์ฉ ๋ฐํ | ๋จ์ํ ๋ฐ๋ณต๋ฌธ (๋น ๋ฅด๊ณ ๊ฐ๋ณ๊ฒ ์คํ) |
for i in np.arange(0, 10, 2): | NumPy ๋ฐฐ์ด ์์ฑ ํ ๋ฐ๋ณต | NumPy ๋ฐฐ์ด๋ก ์ํ์ ์ฐ์ฐ์ด ํ์ํ ๊ฒฝ์ฐ |
6. ๊ฒฐ๋ก : ์ธ์ ์ด๋ค ๊ฑธ ์จ์ผ ํ ๊น?
- range() → ์ผ๋ฐ์ ์ธ for ๋ฃจํ์ ์ ํฉ (๋ฉ๋ชจ๋ฆฌ ํจ์จ์ , ๋น ๋ฆ).
- np.arange() → NumPy๋ฅผ ์ฌ์ฉํ๊ณ , ์ค์ ๋ฒ์ ๋๋ ๋ฐฐ์ด ์ฐ์ฐ์ด ํ์ํ ๋ ์ ํฉ.
๐ ์ถ์ฒ ์ฌ์ฉ๋ฒ
โ
๋ฐ๋ณต๋ฌธ์์ ์ซ์ ๋ฒ์๋ง ํ์ํ๋ฉด? → range() ์ฌ์ฉ
โ
NumPy ์ฐ์ฐ์ ํฌํจํ ๋ฐฐ์ด ์ฒ๋ฆฌ๊ฐ ํ์ํ๋ฉด? → np.arange() ์ฌ์ฉ
728x90
๋ฐ์ํ