2009-03-12 6 views

답변

10
' '.join(set(foo.split())) 

기본적으로 split()는 모든 공백 문자로 분리됩니다. (예를 들어, 탭, 줄 바꿈, 공백) 그래서 당신은 당신이 사용해야 할 공간 만 분할 할 경우

: ''

' '.join(set(foo.split(' '))) 
+0

''.join (set (foo.split())) 요즘 더 평범하다. 또한 닫는 괄호가 없습니다. –

+0

고마워요 존, 내 대답을 업데이트했습니다 –

+0

공백에 관한 것 +1 –

9

의미 하시겠습니까?

' '.join(set(someString.split())) 

이것은 특별한 순서없이 고유 한 공백으로 구분 된 단어입니다.

+0

을 그리고 .join (세트 (someString.split())) 풋 다시 함께 –

+0

+1하지만 S.Lott, 왜 pep8을 싫어합니까 D? –

+0

@Ali A : 코딩의 30 년. PEP 8 년 전에 20 년 이상. 오래된 방귀 새 Trix를 가르 칠 수는 없습니다. –

5
out = [] 
for word in input.split(): 
    if not word in out: 
     out.append(word) 
output_string = " ".join(out) 

집합을 사용하는 것이 더 길지만 순서는 유지됩니다.

편집 : Nevermind. 나는 중요하지 않은 주문에 관한 질문에서 그 부분을 놓쳤다. 세트를 사용하는 것이 좋습니다.

+0

+1, 순서가 중요 할 때, 당신의 솔루션은 다음과 같다. 좋은. 수색을 최적화 할 더 나은 버전을 줄 수 있습니까? – iammilind

관련 문제