Python TypeError 수정: 목록 인덱스는 목록이 아니라 정수여야 합니다.

Rana Hasnain Khan 2024년2월15일
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)

위 코드의 출력은 아래와 같습니다.

목록 인덱스는 정수여야 하며 Python 첫 번째 예제에서는 목록이 아님

그러나 요소에 잘못 액세스하려고 하면 오류 메시지가 표시될 수 있습니다. 이 오류가 발생할 수 있는 상황을 재현해 봅시다.

예를 들어 두 개의 인덱스를 개별적으로 전달하는 대신 두 값을 모두 포함하는 하나의 인덱스를 전달하려고 하면 오류가 발생합니다.

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
find_five = nested_list[1, 1]
print(find_five)

그러면 아래와 같이 오류가 발생합니다.

목록 인덱스는 정수여야 하며 Python 오류 첫 번째 예에서는 목록이 아님

아래와 같이 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)

위 코드의 출력은 아래와 같습니다.

목록 인덱스는 정수여야 합니다. Python 오류 두 번째 예에서는 목록이 아닙니다.

이 오류를 피하는 가장 좋은 방법은 올바른 유형의 인덱스로 항목을 호출하는 것입니다. 인덱스를 변수에 저장하는 경우 아래와 같이 정수로 할당해야 합니다.

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 오류 첫 번째 솔루션의 목록이 아님

결론적으로 중첩 목록은 Python의 강력한 데이터 구조이지만 목록은 정수를 사용해서만 인덱싱할 수 있다는 점을 기억하는 것이 중요합니다. TypeError: list indices must be integers, not list 오류가 발생하면 정수가 아닌 값을 사용하여 목록에 액세스하려고 합니다.

이 오류를 해결하려면 대신 정수 값을 사용하십시오.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

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 Error