이 같은 파이썬 객체로 해당 문자열을 변환하는 ast.literal_eval()
를 사용할 수 있습니다
>>> import ast
>>> ast.literal_eval('[[1,2,3],[2,3,4]]')
[[1, 2, 3], [2, 3, 4]]
>>> L=ast.literal_eval('[[1,2,3],[2,3,4]]')
>>> type(L)
<class 'list'>
>>> L
[[1, 2, 3], [2, 3, 4]]
>>>
ast
추상 구문 트리를 의미합니다.
literal_eval()
은
eval()
보다 훨씬 안전합니다. 공식 문서에서 인용
:
ast.literal_eval (node_or_string)를 안전하게 발현 노드 또는 파이썬 문자 또는 용기 표시를 포함하는 유니 라틴-1 인코딩 된 문자열을 평가. 제공된 문자열 또는 노드는 문자열, 숫자, 튜플, 목록, dicts, 불린 및 없음과 같은 파이썬 리터럴 구조 뒤에 만 으로 구성 될 수 있습니다.
값을 구문 분석 할 필요없이 신뢰할 수없는 출처의 Python 값이 포함 된 문자열을 안전하게 평가하는 데 사용할 수 있습니다. 연산 자나 인덱싱을 포함하여 임의로 복잡한 표현식을 평가할 수는 없습니다 (예 : ).
'input = []': 내장 이름을 변수 이름으로 사용하지 않는 것이 좋습니다. – polku