Programming/Python
python list 값 중복 제거하기
클쏭
2015. 7. 7. 19:24
Python 의 List 에 중복된 값이 있을 경우, 중복 제거를 하고 싶은 경우가 있다.
물론 직접 해당 기능을 구현할 수 있으나, 간단한 방법이 있다.
바로 python의 자료형 중 set 을 이용한 방법이다.
자료형 set은 크게 두가지 특징을 가지고 있다.
1. 중복을 허용하지 않는다. ( removing duplicated )
2. set 내부에 있는 값(value) 들은 순서가 존재하지 않는다. (unordered)
이 특징을 이용해 아래와 같이 쉽게 중복을 제거할 수 있다.
ex_list = [ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'c', 'd' ]
ex_list = list(set(ex_list))
print ex_list
###
['a', 'c', 'b', 'e', 'd', 'g', 'f']
###
중복된 값이 있던 list를 set 형태로 바꾼 후, 다시 list 형태로 변환한 것이다.
한가지 주의해야 할 점은, 기존 list의 순서 형태를 유지하면서 중복을 제거해야 하는 경우에는 set을 이용한 중복 제거를 사용할 수 없다.
아래는 set 에 대한 doc이니 참고.
( https://docs.python.org/2/library/sets.html )