[파이썬] 문자열의 중복된 문자 제거
파이썬에서는 문자열에서 중복된 문자를 제거하는 여러 가지 방법이 있습니다. 중복된 문자를 제거하면 문자열의 길이가 줄어들어 메모리를 절약할 수 있고, 문자열 처리에 유용합니다. 이 게시물에서는 파이썬에서 문자열의 중복된 문자를 제거하는 세 가지 방법을 소개하겠습니다.
1. 집합(set)을 이용한 방법
def remove_duplicates(text):
return ''.join(set(text))
위의 코드는 set
을 이용하여 중복된 문자를 제거합니다. set
은 중복을 허용하지 않는 자료형으로, 중복된 문자를 제거하기 위해 문자열을 set
으로 변환한 뒤 다시 문자열로 변환해 반환합니다.
# 사용 예시
text = "hello"
result = remove_duplicates(text)
print(result) # 'helo'
2. 딕셔너리(dictionary)를 이용한 방법
def remove_duplicates(text):
chars = {}
for char in text:
chars[char] = 1
return ''.join(chars.keys())
위의 코드는 dictionary
를 이용하여 중복된 문자를 제거합니다. 문자열을 순회하며 각 문자를 dictionary
에 키로 저장합니다. 여기서 dictionary
의 키는 중복을 허용하지 않기 때문에 중복된 문자는 자동으로 제거됩니다. 마지막으로 join
함수를 이용하여 dictionary
의 키들을 문자열로 합친 후 반환합니다.
# 사용 예시
text = "hello"
result = remove_duplicates(text)
print(result) # 'helo'
3. 리스트(list)를 이용한 방법
def remove_duplicates(text):
chars = []
for char in text:
if char not in chars:
chars.append(char)
return ''.join(chars)
위의 코드는 list
를 이용하여 중복된 문자를 제거합니다. 문자열을 순회하며 각 문자를 list
에 추가하는데, 이미 list
에 존재하는 문자는 추가하지 않습니다. 마지막으로 join
함수를 이용하여 list
의 항목들을 문자열로 합친 후 반환합니다.
# 사용 예시
text = "hello"
result = remove_duplicates(text)
print(result) # 'helo'
마치며
이번 포스트에서는 파이썬에서 문자열의 중복된 문자를 제거하는 세 가지 방법을 소개했습니다. set
, dictionary
, list
를 이용하여 각각 중복된 문자를 제거할 수 있습니다. 문자열 처리 시 중복된 문자를 제거하는 방법을 적절히 선택하여 활용하면 더욱 효율적이고 간결한 코드를 작성할 수 있습니다.