Python IndexError:목록 할당 인덱스가 범위를 벗어났습니다.
-
Python
IndexError: 목록 할당 인덱스가 범위를 벗어났습니다.
-
Python에서
IndexError: list assignment index out of range
수정 -
IndexError: 범위를 벗어난 목록 할당 인덱스
수정append()
기능 사용 -
insert()
함수를 사용하여IndexError: 목록 할당 인덱스가 범위를 벗어남
수정 - 결론
Python에서는 존재하지도 않는 목록의 인덱스에 액세스하려고 하면 IndexError: 범위를 벗어난 목록 할당 인덱스
가 발생합니다. 인덱스는 문자열, 목록 또는 배열과 같은 iterable 내부의 값 위치입니다.
이 기사에서는 Python에서 인덱스 오류 목록 할당 인덱스가 범위를 벗어남 오류를 수정하는 방법을 배웁니다.
Python IndexError: 목록 할당 인덱스가 범위를 벗어났습니다.
오류를 이해하고 해결하기 위해 오류의 예를 보자.
코드 예:
# error program --> IndexError: list assignment index out of range
i = [7, 9, 8, 3, 7, 0] # index range (0-5)
j = [1, 2, 3] # index range (0-3)
print(i, "\n", j)
print(f"\nLength of i = {len(i)}\nLength of j = {len(j)}")
print(f"\nValue at index {1} of list i and j are {i[1]} and {j[1]}")
print(
f"\nValue at index {3} of list i and j are {i[3]} and {j[3]}"
) # error because index 3 isn't available in list j
출력:
[7, 9, 8, 3, 7, 0]
[1, 2, 3]
Length of i = 6
Length of j = 3
Value at index 1 of list i and j are 9 and 2
IndexError: list assignment index out of range
위의 코드에서 IndexError: 목록 할당 인덱스가 범위를 벗어남
이 발생하는 이유는 목록 j
에서 사용할 수 없는 인덱스 3
의 값에 액세스하려고 하기 때문입니다.
Python에서 IndexError: list assignment index out of range
수정
이 오류를 수정하려면 이 케이스 목록에서 iterables의 인덱싱을 조정해야 합니다. 두 개의 목록이 있고 목록 a
를 목록 b
로 바꾸고 싶다고 가정해 보겠습니다.
코드 예:
a = [1, 2, 3, 4, 5, 6]
b = []
k = 0
for l in a:
b[k] = l # indexError --> because the length of b is 0
k += 1
print(f"{a}\n{a}")
출력:
IndexError: list assignment index out of range
길이가 0
이기 때문에 목록 b
에 값을 할당할 수 없으며 kth
인덱스 b[k] = I
에 값을 추가하려고 하므로 인덱스 오류가 발생합니다. append()
및 insert()
를 사용하여 수정할 수 있습니다.
IndexError: 범위를 벗어난 목록 할당 인덱스
수정 append()
기능 사용
append()
함수는 목록 끝에 항목(값, 문자열, 객체 등)을 추가합니다. 인덱스 두통을 관리할 필요가 없기 때문에 도움이 됩니다.
코드 예:
a = [1, 2, 3, 4, 5, 6]
b = []
k = 0
for l in a:
# use append to add values at the end of the list
j.append(l)
k += 1
print(f"List a: {a}\nList b: {a}")
출력:
List a: [1, 2, 3, 4, 5, 6]
List b: [1, 2, 3, 4, 5, 6]
insert()
함수를 사용하여 IndexError: 목록 할당 인덱스가 범위를 벗어남
수정
insert()
함수는 목록의 k'th
위치에 값을 직접 삽입할 수 있습니다. insert(index, value)
라는 두 개의 인수를 사용합니다.
코드 예:
a = [1, 2, 3, 5, 8, 13]
b = []
k = 0
for l in a:
# use insert to replace list a into b
j.insert(k, l)
k += 1
print(f"List a: {a}\nList b: {a}")
출력:
List a: [1, 2, 3, 4, 5, 6]
List b: [1, 2, 3, 4, 5, 6]
위의 두 가지 솔루션 외에도 Python 목록을 다른 언어의 일반 배열처럼 처리하려는 경우 목록 크기를 None
값으로 미리 정의할 수 있습니다.
코드 예:
a = [1, 2, 3, 4, 5, 6]
b = [None] * len(i)
print(f"Length of a: {len(a)}")
print(f"Length of b: {len(b)}")
print(f"\n{a}\n{b}")
출력:
Length of a: 6
Length of b: 6
[1, 2, 3, 4, 5, 6]
[None, None, None, None, None, None]
더미 값 없음
으로 목록을 정의한 후에는 그에 따라 사용할 수 있습니다.
결론
Python에서 IndexError: 범위를 벗어난 목록 할당 인덱스
를 처리하기 위한 몇 가지 수동 기술과 논리가 더 있을 수 있습니다. 이 문서에서는 두 목록을 교체하는 동안 Python에서 인덱스 오류를 처리하는 데 도움이 되는 두 가지 일반적인 목록 함수를 간략하게 설명합니다.
또한 목록을 미리 정의하고 다른 프로그래밍 언어의 배열과 유사한 배열로 처리하는 대체 솔루션에 대해서도 논의했습니다.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.