Python range vs arange 차이

2022. 10. 6. 08:05Python/Python

Python을 사용하다보니 이름이 비슷한 녀석들이 많다.

range와 arange는 a하나 차이이며 심지어 작용하는 것도 비슷한데 다르다.

 

1. range

>>>range(1, 4)
range(1, 4)
>>>list(range(1, 4, 1))
1
2
3
>>>range(1, 4, 1.1)
Type Error

range(1, 4)를 입력하면 위와 같이 range(1, 4)가 출력되어서 list로 만들어서 출력하였다.

range(시작, 끝, step)으로 구성되며 끝 숫자는 출력되지 않고 시작 숫자부터 step에 따라 출력된다. (step은 기본적으로 1)

int만 이용이 가능하며 float을 입력할 경우 type error을 만날 수 있다. 

 

2.arange

>>>np.arange(1, 4, 1)
array([1, 2, 3])
>>>np.arange(1, 4, 0.5)
array([1, 1.5, 2, 2.5, 3, 3.5])
>>>np.arange(1, 4)*2
array([2, 4, 6])

np.arange(시작, 끝, step)의 구성은 range와 비슷하나 앞의 생김새부터 조금다른 점이 있다.

arange는 numpy의 함수이다. 그렇기에 사용할 때 np.arange의 형태로 사용하여야 하고 출력값이 array형태이다

이는 numpy 연산이 가능하다는 것이며 위와같이 *2와 같은 연산을 해볼 수 있다.

또한 실수 사용이 가능하여 다양한 계산이 가능하다는 장점이 있다. 

 

기능적으로 보면 arange가 더 좋아보이기는 하나 어떤 코드를 짜느냐에 따라 다르게 들어가기 때문에

'어떤 것이 더 좋다'라고 말하긴 어려운 것 같다.

그저 이런 차이가 있다는 것을 알아두고 상황에 맞게 사용하는 것이 최선인 것 같다.

'Python > Python' 카테고리의 다른 글

os.path.join 파일 경로 설정하기  (2) 2022.10.19
Python 문자 정렬 ljust(), rjust(), center()  (0) 2022.09.28