Code Snippets/파이썬
[파이썬] 리스트에서 중복 값을 제거하는 2가지 방법
**디에스
2022. 2. 1. 23:13
데이터 전처리 중 가장 자주 나오는 유형이 '중복된 값 제거'이다.
리스트에서 중복 값을 제거하는 2가지 방법이 있는데, 보통 이 중 첫번째 방법만 안다.
방법 1 : Set으로 전환한 후, 다시 리스트로 바꾸기
파이썬 자료형 중 Set을 이용한 방법이다.
중복 자료를 허용하지 않는 집합 자료형(Set)의 특징을 이용한 것이다.
## 방법 1) set으로 바꾼 후 다시 list로 변환
duplicate_list = ['안','녕','하','세','요','세','요']
cleaned_list = list(set(duplicate_list))
하지만 집합 자료형은 중복 자료도 허용하지 않고, 자료 순서도 고려하지 않는다.
그래서 리스트의 원래 순서가 유지되지 않는 경우가 많다.

방법 2: dict.fromkeys()를 사용하기
이 때 dict.fromkeys()를 이용해서
1) 먼저 리스트의 값이 key가 되는 딕셔너리를 만든 후
2) 딕셔너리를 다시 리스트로 변환하면 순서가 유지되지 않는 위의 문제점을 해결하면서 중복된 값을 제거할 수 있다.
duplicate_list = ['안','녕','하','세','요','세','요']
tmp = dict.fromkeys(duplicate_list)
cleaned_list2 = list(tmp)
