파이썬에서 문자를 분리하는 올바른 방법은 split
내장 문자를 사용하는 것입니다. 그것은 될 것입니다 이 시점에서 모든 내장 명령이기 때문에 그것은, 컴파일 된 C의 확장 당신이 파이썬에서 기본적으로 구현 무엇보다 빠른 많은 :
lst = "ballooolam".split("l")
그러나이 question에서 논의 된 바와 같이,이 수도 있지 아주 기대하는대로하십시오. split
길이가 0 인 토큰이 있으면 목록에 빈 문자열을 남겨 둡니다. I.E. delimeter가 문자열의 첫 번째/마지막 위치에 있거나 두 delimeter가 서로 옆에있는 경우. 이렇게하면 word = 'l'.join(lst)
을 수행하면 원래 값이 반환됩니다. 빈 문자열이 없으면 'ballooolam'
대신에 'balooolam'
이 나옵니다. 당신이이 빈 문자열을 제거하려는 경우, 당신은 목록 - 이해와 쉽게 작업을 수행 할 수 있습니다
def splitter(string, x):
return [token for token in string.split(x) if token]
는 if token
은 빈 문자열은 'falsy'특정 문자열을 거부합니다.
def splitter(string, x):
return [token for token in string.split(x) if token.strip()]
strip()
는 문자열에서 선행/후행 공백을 제거합니다 : 당신은 또한 최종 목록에서 공백 전용 문자열을 제외하려는 경우, 당신은 약간의 비틀기와 함께 그렇게 할 수 있습니다. 공백 만있는 문자열의 경우이 문자열은 빈 문자열이되고 결과는 거짓이됩니다.
string.split ('l')을 사용하지 않는 이유 ????? 또는이 운동이다 –
그런 식으로 문제를 풀려고 생각하는 것이 좋지만 –
죄송합니다. 나는 그게 무슨 뜻인지 이해하지 못합니다. –