백준 5430 문제를 풀다가..
입력이 [1,2,3,4] 이렇게 문자열 형식으로 들어오는데 이걸 바로 list로 받아볼 수 없을까 해서 찾아보다 알게 되었다.
ast 모듈을 이용하면 됨!
import ast
list = ast.literal_eval(input())
이런식으로 코드를 작성하면 된다.
만약 이미 리스트로 저장되어있는 경우여서 원소의 타입만 변경해주어야 하는 경우라면
map 을 이용하면 된다.
int_list = list(map(int, str_list))
map을 이용하는 방법은 잘 알지만, 입력으로 [1,2,3,4] 이런식으로 str을 받게 되어버리면 리스트로 인식하는게 아니라 '[' 기호 ',' 기호 등 따로 입력으로 인식되기 때문에 아래 방법이 통하지 않는다.
++)
근데 ast 모듈이 어느정도 시간복잡도를 차지하나봅니다..
문자열을 알아서 파싱해주는 모듈이지만 메모리가 여유가 있을 때 사용해야 할 것 같습니다.
'딥러닝 기초 > Python' 카테고리의 다른 글
파이썬 __str__ , __repr__의 차이 (2) | 2024.10.03 |
---|---|
Python 들어오는 개별 숫자로 전체 숫자 구성하기 (0) | 2024.01.04 |
Python 리스트 원소 뒤집기 (0) | 2024.01.04 |
Python 리스트 동일 원소 개수 세기 (try, except 구문) + 딕셔너리 정렬 하기 (1) | 2023.12.22 |