TypeError: 목록 인덱스는 튜플이 아닌 정수 또는 슬라이스여야 합니다.
Python에서 목록 요소에 액세스하는 경우 인덱스 위치를 사용하여 액세스해야 합니다. 튜플이나 리스트를 인덱스로 지정하면 파이썬은 typeerror를 던질 것입니다: 리스트 인덱스는 튜플이 아니라 정수나 슬라이스여야 합니다.
이 문서에서는 이 오류의 의미와 코드에서 typeerror를 해결하는 방법을 살펴봅니다.
TypeError: 목록 인덱스는 튜플이 아닌 정수 또는 슬라이스여야 합니다.
*예시 1 – *
오류를 재현하기 위해 아래 예를 살펴보겠습니다.
# Python Accessing List
numbers=[1,2,3,4]
print(numbers[0,3])
산출
Traceback (most recent call last):
File "c:\Projects\Tryouts\main.py", line 3, in <module>
print(numbers[0,3])
TypeError: list indices must be integers or slices, not tuple
위의 예에서는 [0,3]을 인덱스 값으로 전달하여 목록 요소에 액세스합니다. 파이썬 인터프리터는 튜플로 취급하고 typeerror: list 인덱스는 튜플이 아니라 정수 또는 슬라이스여야 하기 때문에 중간에 있는 쉼표와 혼동될 것입니다.
*해결책 *
튜플이 목록의 인덱스 값과 일치하지 않기 때문에 목록에서 항목에 액세스하기 위해 튜플 값을 지정할 수 없습니다. 목록에 액세스하려면 적절한 색인을 사용해야 하며 쉼표 대신 아래와 같이 콜론을 사용합니다.
# Python Accessing List
numbers=[1,2,3,4]
print(numbers[0:3])
산출
[1, 2, 3]
*예시 2 – *
개발자가 만드는 또 다른 일반적인 문제는 목록 안에 목록을 만드는 동안입니다. 위의 코드를 보면 외부 목록의 항목에 대한 표현식 사이에 쉼표가 없으며 Python 인터프리터는 여기서 TypeError를 발생시킵니다.
coin_args = [
["pennies", '2.5', '50.0', '.01']
["nickles", '5.0', '40.0', '.05']
]
print(coin_args[1])
산출
c:\Projects\Tryouts\main.py:2: SyntaxWarning: list indices must be integers or slices, not tuple; perhaps you missed a comma?
["pennies", '2.5', '50.0', '.01']
Traceback (most recent call last):
File "c:\Projects\Tryouts\main.py", line 2, in <module>
["pennies", '2.5', '50.0', '.01']
TypeError: list indices must be integers or slices, not tuple
해결책
다시 문제는 목록 요소 사이에 쉼표를 추가하는 것을 잊었다는 것입니다. 이 문제를 해결하려면 아래와 같이 쉼표를 사용하여 목록 목록에서 목록을 구분해야 합니다.
coin_args = [
["pennies", '2.5', '50.0', '.01'] ,
["nickles", '5.0', '40.0', '.05']
]
print(coin_args[1])
산출
['nickles', '5.0', '40.0', '.05']
게시물 TypeError: list indices must be integers or slices, not tuple이 ItsMyCode에 처음 나타났습니다.
Reference
이 문제에 관하여(TypeError: 목록 인덱스는 튜플이 아닌 정수 또는 슬라이스여야 합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/fluentprogramming/typeerror-list-indices-must-be-integers-or-slices-not-tuple-246h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)