2013-08-10 6 views

답변

4

분할 ,에와지도 int()에 :

map(int, inputstring.split(',')) 

이이 목록을 생성; 당신이 튜플을 필요로하는 경우, 단지 tuple() 호출을 포장 :

당신이 목록 생산하는 지능형리스트를 사용합니다, 그래서 발전기를 돌려 map() 파이썬 3에서
tuple(map(int, inputstring.split(','))) 

:

[int(el) for el in inputstring.split(',')] 

데모 :

>>> inputstring = '1,-2,3,4,-5' 
>>> map(int, inputstring.split(',')) 
[1, -2, 3, 4, -5] 
>>> tuple(map(int, inputstring.split(','))) 
(1, -2, 3, 4, -5) 
6

한 가지 방법은 사용하는 것입니다 ast.literal_eval :

표현식 노드 또는 Python 표현식이 포함 된 문자열을 안전하게 평가하십시오. 제공된 문자열 또는 노드는 문자열, 숫자, 튜플, 목록, 사전, 부울 및 None과 같은 파이썬 리터럴 구조로만 구성 될 수 있습니다.

값을 파싱 할 필요없이 신뢰할 수없는 출처의 Python 표현식이 포함 된 문자열을 안전하게 평가하는 데 사용할 수 있습니다.

>>> import ast 
>>> ast.literal_eval('1,-2,3,4,-5') 
(1, -2, 3, 4, -5) 
+1

흥미로운 방법! so, btw에 대해 좋은 이야기 :) – alecxe

+0

@alecxe 고마워. :). – agf

1

또 다른 방법 :

>>> inputlist = '1,-2,3,4,-5' 
>>> tuple(int(x) for x in inputlist.split(',')) 
(1, -2, 3, 4, -5) 
>>> 
관련 문제