TypeError 수정: 'map' 개체는 Python에서 첨자를 사용할 수 없습니다.
Fariba Laiq
2023년6월21일
-
Python에서
TypeError: 'map' object is not subscriptable
오류의 원인 -
Python에서
TypeError: 'map' object is not subscriptable
오류 수정
모든 프로그래밍 언어에는 많은 오류가 발생합니다. 일부는 컴파일 타임에, 일부는 런타임에 발생합니다.
이 기사에서는 TypeError
의 하위 클래스인 TypeError: 'map' 객체가 첨자화할 수 없습니다
에 대해 설명합니다. 개체 유형과 호환되지 않는 작업을 수행하려고 하면 TypeError
가 발생합니다.
Python에서 TypeError: 'map' object is not subscriptable
오류의 원인
Python 3의 Python 2 맵 작업
Python 2에서 map()
메서드는 목록을 반환합니다. 첨자 연산자 []
를 통해 인덱스를 사용하여 목록의 요소에 액세스할 수 있습니다.
Python 3에서 map()
메서드는 반복자이고 첨자를 붙일 수 없는 객체를 반환합니다. 아래 첨자 연산자 []
를 사용하여 항목에 액세스하려고 하면 TypeError: 'map' 객체가 첨자 가능하지 않음
이 발생합니다.
예제 코드:
# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = map(int, my_list)
print(type(my_list))
my_list[0]
출력:
#Python 3.x
<class 'map'>
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-1-07511913e32f> in <module>()
2 my_list = map(int, my_list)
3 print(type(my_list))
----> 4 my_list[0]
TypeError: 'map' object is not subscriptable
Python에서 TypeError: 'map' object is not subscriptable
오류 수정
Python 3에서 지도 객체를 목록으로 변환
list()
메서드를 사용하여 지도 객체를 목록으로 변환하면 아래첨자 연산자/목록 메서드를 사용할 수 있습니다.
예제 코드:
# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = list(map(int, my_list))
print(my_list[0])
출력:
#Python 3.x
1
Python 3에서 반복자와 함께 for
루프 사용
for
루프를 사용하여 반복자의 항목에 액세스할 수 있습니다. 뒤에서 __next__()
메서드를 호출하고 모든 값을 출력합니다.
예제 코드:
# Python 3.x
my_list = ["1", "2", "3", "4"]
my_list = list(map(int, my_list))
for i in my_list:
print(i)
출력:
#Python 3.x
1
2
3
4
작가: Fariba Laiq
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.