> 백엔드 개발 > 파이썬 튜토리얼 > Python 목록에서 중복 요소를 효율적으로 찾고 제거하려면 어떻게 해야 합니까?

Python 목록에서 중복 요소를 효율적으로 찾고 제거하려면 어떻게 해야 합니까?

Barbara Streisand
풀어 주다: 2024-12-17 13:11:25
원래의
486명이 탐색했습니다.

How Can I Efficiently Find and Remove Duplicate Elements from a Python List?

목록에서 중복 항목 찾기

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿