Python TypeError 수정: 목록 인덱스는 목록이 아니라 정수여야 합니다.
중첩 목록과 많은 프로그래머가 Python의 예제를 사용하여 요소에 액세스하려고 할 때 직면하는 일반적인 오류를 소개합니다.
Python에서 TypeError: list indices must be integers, not list
수정
목록은 Python에서 가장 일반적으로 사용되는 다양한 데이터 유형 중 하나입니다. 목록은 다양한 응용 프로그램에서 사용할 수 있습니다.
중첩 목록에는 내부에 목록이 포함된 요소가 포함됩니다. 다차원 데이터를 저장, 구성 및 조작하는 데 사용되는 중첩 배열이라고도 합니다.
Python의 중첩 목록의 예는 다음과 같습니다.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
이것은 중첩 목록으로 작업할 때 흔히 발생하는 오류입니다. 중첩 목록의 항목에 액세스할 때 해당 인덱스를 두 번 지정해야 합니다.
첫 번째는 외부 목록용이고 두 번째는 내부 목록용입니다.
아래와 같이 Python을 사용하여 위의 예제에서 5에 액세스해 봅시다.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
find_five = nested_list[1][1]
print(find_five)
위 코드의 출력은 아래와 같습니다.
그러나 요소에 잘못 액세스하려고 하면 오류 메시지가 표시될 수 있습니다. 이 오류가 발생할 수 있는 상황을 재현해 봅시다.
예를 들어 두 개의 인덱스를 개별적으로 전달하는 대신 두 값을 모두 포함하는 하나의 인덱스를 전달하려고 하면 오류가 발생합니다.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
find_five = nested_list[1, 1]
print(find_five)
그러면 아래와 같이 오류가 발생합니다.
아래와 같이 int
유형 대신 목록으로 잘못 변수 내부의 인덱스를 저장한 경우 동일한 오류가 발생할 수 있는 상황이 한 번 더 있을 수 있습니다.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
indice_one = [1]
indice_two = [2]
find_six = nested_list[indice_one][indice_two]
print(find_six)
위 코드의 출력은 아래와 같습니다.
이 오류를 피하는 가장 좋은 방법은 올바른 유형의 인덱스로 항목을 호출하는 것입니다. 인덱스를 변수에 저장하는 경우 아래와 같이 정수로 할당해야 합니다.
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
indice_one = 1
indice_two = 2
find_six = nested_list[indice_one][indice_two]
print(find_six)
인덱스 값을 int
유형으로 지정하면 오류가 발생하지 않습니다. 위의 코드는 아래와 같이 실행됩니다.
결론적으로 중첩 목록은 Python의 강력한 데이터 구조이지만 목록은 정수를 사용해서만 인덱싱할 수 있다는 점을 기억하는 것이 중요합니다. TypeError: list indices must be integers, not list
오류가 발생하면 정수가 아닌 값을 사용하여 목록에 액세스하려고 합니다.
이 오류를 해결하려면 대신 정수 값을 사용하십시오.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn관련 문장 - Python TypeError
- Python TypeError: 필수 위치 인수 1개 누락
- Python TypeError: 해시할 수 없는 유형: 목록
- TypeError 해결: Python에서 문자열 형식 지정 중에 일부 인수가 변환되지 않음
- TypeError 해결: Python에서는 정수가 필요합니다.
- TypeError: STR이 아닌 실수여야 합니다.
관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.