IndexError: 스칼라 변수에 대한 잘못된 인덱스

Zeeshan Afridi 2023년6월21일
  1. Python의 IndexError: 스칼라 변수에 대한 잘못된 인덱스는 무엇입니까
  2. Python에서 IndexError: 스칼라 변수에 대한 잘못된 인덱스 수정
  3. 2D Numpy Arrays에서 IndexError: invalid index to scalar variable 수정
IndexError: 스칼라 변수에 대한 잘못된 인덱스

특히 numpy 배열을 처음 사용하는 경우 IndexError가 너무 일반적입니다. 인덱스는 배열에서 요소의 위치입니다.

배열이 단순하면 쉽지만 차원이 커지면 배열도 복잡해집니다. 배열의 차원이 증가하면 인덱스도 증가합니다.

간단한 배열이 있는 경우 요소에 액세스하는 데 하나의 인덱스가 필요하고 2차원 배열에서는 두 개의 인덱스가 필요하다고 가정해 보겠습니다.

1차원 및 2차원 배열의 예:

One_D = [1, 2, 3, 4, 5]
print(One_D[0])  # --> 1

two_D = [[1, 2, 3], [4, 5, 6]]
print(two_D[1][0])  # --> 4

출력:

1
4

Python의 IndexError: 스칼라 변수에 대한 잘못된 인덱스는 무엇입니까

Python의 IndexError: invalid index to scalar variablenumpy 배열의 인덱스를 오용할 때 발생합니다. 1차원 arr이 있다고 가정해 봅시다.

import numpy as npy

arr = npy.array([1, 2, 3, 4, 5])

print(arr[0][1])

출력:

IndexError: invalid index to scalar variable.

위의 예에서 배열 arr에는 하나의 인덱스만 필요하지만 존재하지 않는 두 개의 인덱스 [0][1]가 있는 요소에 액세스하려고 합니다. 따라서 IndexError: 스칼라 변수에 대한 잘못된 인덱스가 발생합니다.

Python에서 IndexError: 스칼라 변수에 대한 잘못된 인덱스 수정

IndexError를 수정하는 것은 너무 간단하고 쉽습니다. 오류 자체는 자명합니다. 문제가 색인에 있으며 요소에 액세스하기 위해 잘못된 색인을 제공하고 있음을 알려줍니다.

배열의 특성에 따라 올바른 인덱스를 제공해야 합니다. 위 프로그램의 IndexError를 수정해보자.

import numpy as npy

arr = npy.array([1, 2, 3, 4, 5])

print(arr[3])

출력:

4

2D Numpy Arrays에서 IndexError: invalid index to scalar variable 수정

배열의 작동 방식을 이해하면 2차원은 인덱스를 이해하는 데 큰 문제가 되지 않으므로 잘 수행할 수 있습니다.

2차원 numpy 배열의 예를 들어보겠습니다.

import numpy as npy

# creating a 2-D array
arr = npy.array([[1, 2, 3], [4, 5, 6]])

# with 2 rows and 3 columns
print(arr.shape)

# arr[2nd row] [3rd column]
print(arr[1][2])

# print(arr[1][2][3]) --> IndexError: invalid index to scalar variable.

출력:

(2, 3)
6

이 예에서 모양이 (2,3)인 2차원 배열 arr은 2개의 행과 3개의 열이 있음을 의미하며 컴퓨터 프로그래밍 언어에서 인덱스는 0으로 시작하고 1을 의미합니다.

따라서 arr[1][2] 인덱스는 6인 두 번째 행과 세 번째 열에서 배열 arr 요소에 액세스하는 것을 의미합니다.

그리고 다시, arr 배열에 arr[1][2][3] 2 대신 3개의 인덱스와 같은 잘못된 인덱스를 제공하면 IndexError: invalid index to scalar variable이 발생합니다. arr 배열에 존재하지 않습니다.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

관련 문장 - Python Error