2014-09-16 2 views
1

올바르게 입력 된 사용자 입력 배열 IE '[2,1,1]'을 사용자 입력으로 가져와 변환하는 방법이 있는지 궁금합니다. 그것을 [2,2,1]의 int 배열로 변환합니다.Python은 사용자 배열을 int 배열로 적절히 배열 된 형식으로 변환합니다.

+0

파이썬에는 배열이 아닌 목록이 있습니다. – chepner

+0

그럼 "배열"을 왜 가져 옵니까? – Jelly

+0

나는 잘 모른다. 귀하의 질문에 그렇게하는 징후가 나타나지 않습니다. – chepner

답변

2

안전하게 파이썬 객체로 리터럴 파이썬 식을 나타내는 문자열을 구문 분석 ast.literal_eval을 사용할 수 있습니다 : 문자열이 유효한 JSON을 경우

import ast 

ast.literal_eval('[2,1,1]') 
# [2, 1, 1] 

, 당신은 대신 사용할 수 json. loads :

import json 

json.loads('[2,1,1]') 
# [2, 1, 1] 

둘 중 문자열이 리터럴 파이썬 표현식과 JSON 인 경우 json.loads이 빠릅니다.

+0

알았어, 정보 주셔서 감사합니다! ast.literal_eval (input())은 작동하지만 입력을 s = input() ast.literal_eval (s)로 바꾸면 작동하지 않는 것 같습니다. 그게 뭐야? – Jelly

+0

@Jelly 이것들은 동일해야합니다. 뭔가 다른 것 같습니다. – Veedrac

+0

@Jelly : 전체 추적 오류 메시지는 무엇입니까? ("작동하지 않는다"는 것만으로도 도움이되는 정보가 거의 없습니다.) – unutbu

관련 문제