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()๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ

  1. ์‹ค์ˆ˜(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()๊ฐ€ ํ•„์š”ํ•จ.

  1. 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
๋ฐ˜์‘ํ˜•