반응형
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)]
반응형