목록에서 중복 항목 찾기
Python에서는 특정 요구 사항에 따라 몇 가지 방법으로 목록에서 중복 항목을 찾을 수 있습니다. .
사용 세트
Python의 세트는 중복 요소를 자동으로 제거하는 순서가 지정되지 않은 컬렉션입니다. 목록에서 중복 항목을 제거하고 원래 순서로 새 목록을 만들려면 set(a) 표현식을 사용하면 됩니다.
중복 항목 목록 가져오기
중복 요소 목록이 필요한 경우 사전을 사용하여 원본 목록에서 각 요소의 발생 횟수를 계산할 수 있습니다. 개수가 1보다 큰 요소는 중복으로 간주됩니다. 다음 코드는 이 접근 방식을 보여줍니다.
a = [1,2,3,2,1,5,6,5,5,5] import collections print([item for item, count in collections.Counter(a).items() if count > 1]) # Output: [1, 2, 5]
Set Intersection 사용
중복 항목을 찾는 또 다른 방법은 set을 사용하여 원본 목록에서 고유한 요소 집합을 만드는 것입니다. (에이). 그런 다음 이 세트를 원본 목록과 교차시켜 중복 항목을 찾을 수 있습니다.
해시할 수 없는 요소의 예
목록의 요소가 해시 가능하지 않은 경우( 예를 들어 목록이나 사전) 모든 요소 쌍을 반복하고 비교하여 무차별 접근 방식을 사용할 수 있습니다. 평등.
예제 코드:
a = [[1], [2], [3], [1], [5], [3]] no_dupes = [x for n, x in enumerate(a) if x not in a[:n]] print(no_dupes) # [[1], [2], [3], [5]] dupes = [x for n, x in enumerate(a) if x in a[:n]] print(dupes) # [[1], [3]]
위 내용은 Python 목록에서 중복 요소를 효율적으로 찾고 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!