데이터 전처리 중 가장 자주 나오는 유형이 '중복된 값 제거'이다.
리스트에서 중복 값을 제거하는 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)
'Code Snippets > 파이썬' 카테고리의 다른 글
[파이썬-Pyautogui] 사용자가 직접 마우스 위치 설정하기 (1) | 2021.09.17 |
---|---|
[파이썬-셀레니움] 셀레니움 속도 향상을 위한 5가지 팁 (3) | 2021.07.23 |