TypeError 수정: 'map' 개체는 Python에서 첨자를 사용할 수 없습니다.

Fariba Laiq 2023년6월21일
  1. Python에서 TypeError: 'map' object is not subscriptable 오류의 원인
  2. Python에서 TypeError: 'map' object is not subscriptable 오류 수정
TypeError 수정: 'map' 개체는 Python에서 첨자를 사용할 수 없습니다.

모든 프로그래밍 언어에는 많은 오류가 발생합니다. 일부는 컴파일 타임에, 일부는 런타임에 발생합니다.

이 기사에서는 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
Fariba Laiq avatar Fariba Laiq avatar

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