[파이썬] 집합의 중복 요소 제거

Python에서 집합(Set)을 사용하여 중복된 요소를 제거할 수 있습니다. 집합은 유일한 값을 가지는 데이터 구조로, 중복되는 요소가 없이 값을 저장합니다. 따라서 집합을 활용하여 중복된 요소를 간편하게 제거할 수 있습니다.

방법 1: set() 함수 사용

가장 간단한 방법은 파이썬 내장 함수인 set()을 사용하는 것입니다. set() 함수는 중복된 요소를 제거하고 유일한 값만을 남기는 역할을 합니다. 이후, 다시 리스트로 변환하면 중복이 제거된 리스트를 얻을 수 있습니다.

numbers = [1, 2, 3, 3, 4, 5, 5, 6]
unique_numbers = list(set(numbers))
print(unique_numbers)

위의 코드는 numbers 리스트에서 중복된 요소를 제거한 후, unique_numbers 리스트에 저장합니다. 즉, 출력 결과는 [1, 2, 3, 4, 5, 6]입니다.

방법 2: List Comprehension 사용

List Comprehension을 활용하여 중복된 요소를 제거할 수도 있습니다. 이 방법은 명시적인 set() 함수 호출 없이 직접 중복을 제거합니다.

numbers = [1, 2, 3, 3, 4, 5, 5, 6]
unique_numbers = [x for x in numbers if numbers.count(x) == 1]
print(unique_numbers)

위의 코드에서는 각 요소 x에 대해 numbers 리스트에서 x의 개수를 세어서 1인 경우만 unique_numbers 리스트에 추가합니다. 그 결과, 출력은 [1, 2, 4, 6]가 됩니다.

두 가지 방법 모두 중복된 요소를 제거할 수 있지만, set() 함수를 사용하는 방법이 보다 간단하고 효율적입니다. 하지만 리스트 순서를 유지하고 싶다면 List Comprehension을 사용하는 것이 더 적합합니다.

집합은 데이터 구조 중 하나로서 중복을 제거하는 용도뿐만 아니라, 멤버십 테스트 등 여러 가지 활용도가 있습니다. 유연하게 활용하여 필요한 작업을 수행할 수 있습니다.