카테고리 없음

[python] 'range' object does not support item assignment 에러

i-moo 2017. 5. 13. 11:58
반응형

python 2.x 버전에서 range에 속하는 값을 변경해줄 때는 별 문제가 없었지만

3.x 버전으로 넘어오면서 range의 값을 변경해주려면 'range' object does not support item assignment 오류가 난다.

사용하려면 years = list(range(2000, 2017)) 로 해주면 오류 없이 실행된다.


이유는?

list를 배열인가? 라는 생각이 들었다.

[] 와 list의 차이를 찾아보니.. 못찾는건지ㅠㅠ 잘안나온다...

그냥 단순하게 코드를 짜보니 차이를 알 것 같다.

lt = list(1,2,3)

print("lt : ", lt)

arr = [1, 2, 3]

print("arr : ", arr)

이 코드에 대해서는 lt 부분이 TypeError: 'range' object does not support item assignment 에러가 난다.

lt = list(range(1, 4))

print("lt : ", lt)

arr = [1, 2, 3]

print("arr : ", arr)

연습했을 때 처럼 코드를 변경해보니 잘 실행된다. 

결과 값 : 

lt :  [1, 2, 3]

arr :  [1, 2, 3]

>>> 

python에서 []와 list의 차이는 사용하는 방법의 차이이지 않을까 생각이 든다.


참고로 

ltArr = [range(1,4)]

print("ltArr : ", ltArr) 는 배열값으로 받는다.

결과 값 : 

ltArr :  [range(1, 4)]

반응형