728x90
반응형
이번에는 중복을 제거하는 방법에 대해 알아보고 관련 예제를 통해 이를 적용해본다
예제는 다음과 같다

위와 같은 리스트에서 중복되는 데이터가 없는 리스트를 리턴하는 것이 목표이다
위를 구현하는 방법은 다음과 같다
1) set을 사용
set은 집합 자료형이지만, tuple이나 list와는 다르게
집합된 데이터들에 대해 중복을 허용하지 않고 또, 데이터들간의 순서가 존재하지 않는다
따라서 위와 같은 예제에서 사용이 가능하다
ex1 = set(ex)
print(list(ex1))
실행 결과는 다음과 같다

중복되는 데이터는 없어졌지만, 순서가 다르게 변경된 것을 확인할 수 있다
2) OrderedDict
OrderedDict는 중복을 없애주면서 기존의 순서를 유지하는데 사용할 수 있다
사용하기 위해서는 collections 모듈에서 불러와야 사용이 가능하다
from collections import OrderedDict
ex2 = list(OrderedDict.fromkeys((ex)))
print(ex2)
실행 결과는 다음과 같다

중복되는 데이터가 없어지고, 기존의 순서도 문제없이 유지된 것을 확인할 수 있다
3) 리스트 컴프리헨션
리스트 컴프리헨션을 통해서도 중복의 제거가 가능하다
로직의 구성은 다음과 같이 이뤄진다
수행동작 + 순회 + 조건
따라서 다음과 같이 코드를 작성하였다
ex3 = []
ex4 = [ex3.append(x) for x in ex if x not in ex3]
print(ex3)
실행결과는 다음과 같다

마찬가지로 중복이 없어지고, 순서도 유지되어 있는 것을 확인할 수 있다
728x90
반응형
'Python > 45가지 파이썬 기초문법 예제' 카테고리의 다른 글
| 파이썬 (12) - Dictionary 아이템 추가 (0) | 2025.04.18 |
|---|---|
| 파이썬 (11) - Dictionary 합 구하기(Dictionary Items Sum) (0) | 2025.04.08 |
| 파이썬 (9) - Range & Map & Lambda (0) | 2025.04.06 |
| 파이썬 (8) - Range 함수 활용 (2) (0) | 2025.03.24 |
| 파이썬 (7) - Range 함수 활용 (1) (0) | 2025.03.14 |