2008-09-22 3 views
62

파이썬에서 한 단어를 한 글자로 나눌 수있는 함수가 있습니까? 예 :파이썬에서 한 단어를 목록으로 나눌 수있는 함수가 있습니까?

s="Word to Split" 

는 가장 쉬운 방법은 바로 list()를 사용하는 아마

wordlist=['W','o','r','d','','t','o' ....] 
+0

의 항목으로 전환 심지어 공백을 볼 수 있습니다

>>> mystring = "This is my string" >>> list(mystring) ['T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'm', 'y', ' ', 's', 't', 'r', 'i', 'n', 'g'] 

간단한 한 줄 솔루션을합니다. org/library/stdtypes.html –

+4

낡은 스레드이지만 언급할만한 가치가 있습니다. 대부분이 작업을 수행 할 필요가 없습니다. 파이썬 문자열의 문자는 목록 즉, 즉 직접 액세스 할 수 있습니다. 's [2]'는'r '이고's [: 4]'는'Word '이고'len (s)'는 13이다.'it chars in s : print char' – domoarrigato

답변

159
>>> list("Word to Split") 
['W', 'o', 'r', 'd', ' ', 't', 'o', ' ', 'S', 'p', 'l', 'i', 't'] 
+2

"분할 할 단어".split ('')이 같은 일을하지 않는 이유를 알고있는 이유. 그것은하지는 않지만 실제로 그렇게해야하는 것처럼 보입니다. –

+2

@Walter Nissen : 시도 할 때 "ValueError : 빈 구분 기호"가 표시됩니다. 빈 정규식은별로 잘 정의되지 않았습니다. –

+0

'split()'을 사용하여 문자를 가져 오는 데 사용되는 구분 기호가 없습니까? 'split()'은 두 번째 인자 * maxsplits *를 취하지 만'list()'와 같은 것은 없습니다. 물론 주위에 해결 방법이 있습니다. –

12

얻을 수 있지만,뿐만 아니라 적어도 하나 개의 다른 옵션이 있습니다 :

s = "Word to Split" 
wordlist = list(s)    # option 1, 
wordlist = [ch for ch in s]  # option 2, list comprehension. 

그들은 모두은 필요한 것을 제공해야합니다 :

언급 한 바와 같이
['W','o','r','d',' ','t','o',' ','S','p','l','i','t'] 

는, 첫 번째 가능성이 예를 들어 가장 바람직하지만, 그런 당신이 항목에 어떤 임의의 기능을 적용 할 경우 같은보다 복잡한 물건 후자 매우 편리 할 수 ​​있습니다 사용하는 경우가있다, 예와 같이

[doSomethingWith(ch) for ch in s] 
2

목록 기능은 동일한 결과를 규칙이

>>> list('foo') 
['f', 'o', 'o'] 
3

남용을 할 것입니다 : (x의 X를에 '말씀 분할')

실제로 반복자이지 목록이 아닙니다. 그러나 그것은 당신이 정말로 신경 쓰지 않을 가능성이 있습니다. HTTP : //docs.python

+0

물론, 직접 사용되는 "Word to split"도 자체 문자의 반복 가능하므로 생성기 표현은 무의미한 배치입니다. – ShadowRanger

+0

이것이 최선의 해결책이라고 생각합니다. – peterb

1

다음은, 또한 바로이 문서를 체크 아웃 목록

관련 문제