Python은 강력한 내장 함수와 데이터 유형 세트를 제공하여 목록에서 중복 요소를 제거하는 여러 가지 방법을 제공합니다. Python을 사용하면 간단한 목록 또는 중첩된 목록으로 작업하더라도 중복 항목을 제거할 수 있습니다. 이 블로그 게시물에서는 Python을 사용하여 목록에서 중복 항목을 제거하는 방법을 자세히 살펴보고, 이 일반적인 데이터 정리 작업을 수행하기 위한 몇 가지 모범 사례를 탐색합니다.
Python의 데이터 유형 설정 사용
Python에서 목록에서 중복 항목을 제거하는 가장 쉬운 방법은 목록을 집합으로 변환하는 것입니다. 집합은 반복 가능하고 변경 가능하며 중복 항목이 없는 정렬되지 않은 데이터 컬렉션 유형입니다. 다음은 간단한 예시입니다.
pythonCopy code
# List with duplicate elements
list_with_duplicates = [1, 2, 2, 3, 4, 4, 5, 6, 6, 6, 7]
# Remove duplicates by converting to a set
unique_set = set(list_with_duplicates)
# Convert set back to a list
list_without_duplicates = list(unique_set)
요소의 순서를 유지하지 않는 set을 사용하므로 순서를 유지해야 하는 경우 다른 접근 방식을 사용하는 것이 좋습니다.
리스트 이해 사용
리스트 이해는 기존 목록을 기반으로 새로운 목록을 만드는 간결한 방법을 제공합니다. Python에서는 리스트 이해와 not in 명령을 사용하여 중복을 제거하고 요소의 순서를 유지할 수 있습니다.
pythonCopy code
# List with duplicate elements
list_with_duplicates = [1, 2, 2, 3, 4, 4, 5, 6, 6, 6, 7]
# Remove duplicates using list comprehension
list_without_duplicates = []
[list_without_duplicates.append(i) for i in list_with_duplicates if i not in list_without_duplicates]
위의 코드에서는 원래 목록의 각 항목을 반복합니다. 항목이 새 목록(list_without_duplicates)에 아직 없으면 항목을 추가합니다.
중첩된 목록에서 중복 삭제
중첩된 목록이 있는 경우 위의 방법 중 어느 것도 제대로 작동하지 않으므로 상황이 약간 더 복잡해집니다. 중복 항목을 제거하려면 목록을 집합으로 변환하고 내부 목록을 튜플로 변환하는 조합을 사용할 수 있습니다.
pythonCopy code
# List with duplicate lists
list_with_duplicates = [[1, 2], [3, 4], [1, 2], [5, 6], [3, 4]]
# Remove duplicates by converting inner lists to tuples
list_without_duplicates = list(set(tuple(inner_list) for inner_list in list_with_duplicates))
여기에서는 각 내부 목록을 튜플로 변환합니다. 중복을 제거하기 위해 세트를 사용하며, 내부 목록을 튜플로 변환하여 각 튜플이 해시 가능해지도록 합니다.
이 방법은 목록의 원래 순서를 유지하지 않습니다. 순서가 중요한 경우 리스트 이해와 유사한 접근 방식을 사용할 수 있습니다.
결론
Python의 유연성 덕분에 설정된 데이터 유형의 속성을 활용하든 리스트 이해를 사용하든, 목록에서 중복 항목을 쉽게 제거할 수 있습니다.
'파이썬 > Basic' 카테고리의 다른 글
정규표현식과 문자열 추출하는 방법 (0) | 2024.01.12 |
---|---|
Python 패키지 관리하기 (0) | 2023.12.04 |
파이썬 디스크립터란? (0) | 2023.06.28 |
파이썬 함수에 대한 4가지 고급 트릭 (0) | 2023.06.27 |
파이썬에서 알아두면 유용한 기능들 (0) | 2023.06.24 |