[파이썬] 문자열의 중복된 문자 제거

파이썬에서는 문자열에서 중복된 문자를 제거하는 여러 가지 방법이 있습니다. 중복된 문자를 제거하면 문자열의 길이가 줄어들어 메모리를 절약할 수 있고, 문자열 처리에 유용합니다. 이 게시물에서는 파이썬에서 문자열의 중복된 문자를 제거하는 세 가지 방법을 소개하겠습니다.

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를 이용하여 각각 중복된 문자를 제거할 수 있습니다. 문자열 처리 시 중복된 문자를 제거하는 방법을 적절히 선택하여 활용하면 더욱 효율적이고 간결한 코드를 작성할 수 있습니다.