map 을 사용해 여러 개의 값을 입력받아 바로 리스트에 저장하는 코드를 작성했다.

 

코드는 다음과 같았다.

fish_price = map(int, input("가격: 2000 2500 3000").split())

하지만 이것을 사용해서 fish_price의 원소에 [] 인덱스로 접근했을 때

fish_price = map(int, input("가격: 2000 2500 3000").split())

print(fish_price[1])

위 코드를 실행하면 아래와 같은 에러가 발생한다.

 

fish_price의 타입을 체크해보면 다음과 같다.

fish_price의 타입은 바로 map 이다.

map은 iterable을 반환합니다. 간단히 말하면 한 번에 하나씩 원소를 차례대로 내뱉은 존재이기 때문에 중괄호([])와 인덱스를 사용해 fish_price의 원소에 접근할 수 없습니다.

 

중괄호([])와 인덱스를 사용해 fish_price의 원소에 접근하기 위해서는 fish_price를 list로 형변환해주면 됩니다.

fish_price = list(map(int, input("가격: 2000 2500 3000").split()))

print(fish_price[1])

복사했습니다!