문제

문자열의 공간으로 분리 된 중복 문자와 문자 세트를 제거하는 가장 좋은 방법은 무엇입니까?

이 예제는 더 잘 설명한다고 생각합니다.

foo = 'h k k h2 h'

가야합니다 :

foo = 'h k h2' # order not important

기타 예 :

foo = 's s k'

:

foo = 's k'
도움이 되었습니까?

해결책

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

Split ()는 기본적으로 모든 공백 문자로 분할됩니다. (예 : 탭, 신형, 공간)

따라서 공간에서만 분할하려면 다음을 사용해야합니다.

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

다른 팁

당신은 의미합니까?

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

그것은 특별한 순서대로 독특한 공간에 따른 단어입니다.

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

세트를 사용하는 것보다 길지만 주문을 유지합니다.

편집하다: 신경 쓰지 마. 나는 질서가 중요하지 않은 것에 대한 질문에서 그 부분을 놓쳤다. 세트를 사용하는 것이 더 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top