문자열에서 중복 문자 (단어)를 제거하는 가장 좋은 방법?
-
10-07-2019 - |
문제
문자열의 공간으로 분리 된 중복 문자와 문자 세트를 제거하는 가장 좋은 방법은 무엇입니까?
이 예제는 더 잘 설명한다고 생각합니다.
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)
세트를 사용하는 것보다 길지만 주문을 유지합니다.
편집하다: 신경 쓰지 마. 나는 질서가 중요하지 않은 것에 대한 질문에서 그 부분을 놓쳤다. 세트를 사용하는 것이 더 좋습니다.
제휴하지 않습니다 StackOverflow