내가 예전 글에서 map을 사용해서 여러개를 입력받아, 바로 리스트에 저장하는 코드를 쓴 적이 있다.
[코딩/python3] - 파이썬 | 입력을 받고 바로 리스트에 집어넣어 보자.
코드는 아래와 같다.
lst = map(int, input().split())
하지만 이것을 사용해서 lst의 원소에 [] index로 접근하려면
lst = map(int, input().split()) print(lst[1]) TypeError: 'map' object is not subscriptable
위와 같은 코드가 나오면서 에러가 난다.
대충 보니까, map을 사용하면 [0]같은 연산자로는 접근 할 수가 없다고 한다.
물론 [0:1]같은 슬라이싱도 되지 않는다.
lst = list() lst = map(int, input().split()) print(type(lst)) 1 2 3 4 5 <class 'map'>
타입을 체크해보면 저렇게 map class로 나온다.
역시 다들 알고 있겠지만, []를 사용해서 인덱스로 접근하려면 답은 간단하다.
[]이 사용 가능한 list같은 자료형으로 캐스팅해주면된다.
lst = map(int, input().split()) lst = list(lst) print(lst[1]) 1 2 3 4 2
하나하나 천천히 알아가는 과정이 중요한것 같다.
'언어 > python3' 카테고리의 다른 글
파이썬 | 리스트를 리스트에 복사할 때, 주의할 점 (0) | 2020.03.15 |
---|---|
파이썬 | 리스트 생성, 생성과 동시에 크기지정 (0) | 2020.03.15 |
파이썬 | for문과 print문 사용 시, 줄바꿈을 안하고 싶을때 (0) | 2020.03.15 |
파이썬 | 입력을 받고 바로 리스트에 집어넣어 보자. (0) | 2020.03.15 |
파이썬 | 입력을 더 빠르게 받아보자. (0) | 2020.03.15 |
댓글