ㅍㅍㅋㄷ

python list 값 중복 제거하기 본문

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 )



Comments