파이썬 리스트 중복을 출력하거나 제거하기 위해 복잡한 코딩을 생각할 수 있습니다. 하지만 이는 많이 사용되는 코드이기 때문에, 쉽게 구현할 수 있는 기능이 이미 있습니다. 오늘은 파이썬 리스트 중복을 확인하고, 제거하는 방법에 대해서 알아보겠습니다.

 

1. 리스트 중복 출력하기

중복 출력을 위해서는 파이썬 내장 모듈인 collections를 이용합니다. 이 모듈은 파이썬 기본 자료형을 더 쉽게 사용할 수 있게 도와주는 기능들이 있습니다. 그 중에 Counter 함수를 이용하면 리스트 중복 갯수를 확인할 수 있습니다.

 

 

from collections improt Counter

tmep = [ 1, 2, 3, 1]
temp_dup = Counter(temp)
print(temp_dup)


Counter는 딕셔너리의 서브 클래스입니다. 그래서 temp_dup을 딕셔너리처럼 사용해도 됩니다. 어색하다면 딕셔너리 타입으로 변경해도 됩니다.

여기서 딕셔너리 컴프리핸션을 이용해서 값이 2보다 큰 키값만 추출합니다.

 

[k for k in temp_dup if temp_dup.get(k)>1]


Counter는 리스트의 각 요소의 갯수를 출력해주는 함수입니다. 보통 문단에서 단어가 몇 개나 나오는지 궁금할 때 사용합니다. most_common 함수를 이용하면 가장 많이 나오는 값을 확인할 수도 있습니다.

 

 

 

2. 리스트 중복 제거하기

중복을 제거하는 방법은 위에서 키값만 출력하면 됩니다.

temp_dup.keys()

 

리스트로 만들고 싶다면, 리스트 자료형으로 형변환을 해 줍니다.

list(temp_dup.keys())

 


아니면 리스트를 set자료형으로 변환하고, 다시 리스트 자료형으로 바꿔줍니다.

list(set(temp))


set자료형을 이용하면 파이썬에서 집합 연산을 할 수 있는데요. 딕셔너리의 키와 같이 중복을 허용하지 않습니다. 그래서 중복이 있는 경우에 다 제거하고 하나만 남깁니다. 세트의 이 특성을 이용해서 중복을 제거합니다.


오늘은 이렇게 파이썬 리스트 중복 출력 및 제거하는 방법에 대해서 알아보았습니다. 파이썬 리스트 중복을 출력하고, 제거하는 방법은 여러가지가 있습니다. 하지만 저는 위의 방법이 가장 편리하고 쉽다고 생각합니다. 파이썬 중복 출력이나 제거가 필요하다면 한 번 사용해 보시기 바랍니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기