본문 바로가기
Python

Python - 에러 해결: list indices must be integers or slices, not str

by 올엠 2024. 2. 20.
반응형

Python 코드를 작성하다보면, list indices must be integers or slices, not str이라는 오류를 종종 접하게 된다.

list indices must be integers or slices, not str
또는
cannot unpack non-iterable NoneType object

 

이 오류는 List 같은 문자열  아닌 값을 문자열 처럼 사용했을 때 발생한다.

따라서 이 오류를 해결하기 위해서는 각 변수의 타입에 맞게 사용했는지을 유심하게 봐야한다. 

보통 문자열과 list 형태는 다루는 방식이 다르기 때문에 나타난다고 보면 된다.

특히 실사용에서는 아래와 같이  다중 리스트형태일 경우를 무시해서 발생하는 경우가 많으므로 주의할 필요가 있다.

#다중 리스트 인덱스로 문자열 사용
test_list = [{'key':0},{'key':1},{'key':2}]

test_list['key']

 

자주 발생할 수 있는 부분을 JSON의 특정 하위 데이터가 List인지를 모르고 사용하다가 본 오류를 경험 할 수 있다.

반응형