문자열이 있습니다. 나는 같은 출력을 원하는 파이썬 &를 사용하여 목록으로 변환 할문자열을 파이썬으로 목록 변환하기
s = '1989, 1990'
,
s = ['1989', '1990']
는 동일한에 대한 가장 빠른 하나 개 라이너 방법이 있나요?
문자열이 있습니다. 나는 같은 출력을 원하는 파이썬 &를 사용하여 목록으로 변환 할문자열을 파이썬으로 목록 변환하기
s = '1989, 1990'
,
s = ['1989', '1990']
는 동일한에 대한 가장 빠른 하나 개 라이너 방법이 있나요?
사용 split method :
>>> '1989, 1990'.split(', ')
['1989', '1990']
하지만 당신은 할 수 있습니다에 :
제거하여 replace
분할을 사용하여 공간 ','
예를 들면 : 당신의 캐릭터가 사용자의 입력에서 오는 경우 사용자가 쉼표 후에 공간을 명중하는 것을 잊지 수 있으므로
>>> '1989, 1990,1991'.replace(' ', '').split(',')
['1989', '1990', '1991']
이 더 잘 작동합니다.
함수를 호출 split
첫째 공백
myList = s.split(', ')
print s.replace(' ','').split(',')
다음 콤마로 분리한다.
이것은 모든 공간을 바꾸면 데이터에 영향을 줄 수 있으므로 분할 된 항목을 제거하는 것이 훨씬 더 좋은 방법입니다. –
또는 당신이 사용할 수있는 정규 표현식 :
>>> import re
>>> re.split(r"\s*,\s*", "1999,2000, 1999 ,1998 , 2001")
['1999', '2000', '1999', '1998', '2001']
표현 \s*,\s*
일치 다시 0 개 이상의 공백 문자, 쉼표와 0 개 이상의 공백 문자.
def convertToList(v):
'''
@return: input is converted to a list if needed
'''
if type(v) is list:
return v
elif v == None:
return []
else:
return [v]
아마이 프로젝트에 유용
내가 이것에 대한 일반적인 방법을 만들었습니다.
converToList(s)
의
가능한 중복 [어떻게 목록 파이썬으로 문자열을 분할합니까?] (http://stackoverflow.com/questions/88613/how-do-i-split-a-string-into-a -list-python) – bernie