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

순서를 유지하거나 무시하면서 Python 목록에서 중복 요소를 효율적으로 제거하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-30 17:37:13784검색

How Can I Efficiently Remove Duplicate Elements from a Python List While Maintaining or Ignoring Order?

목록에서 중복 요소 제거

목록에서 중복 요소를 제거하는 것은 프로그래밍에서 자주 수행되는 작업입니다. 여기에서는 중복을 감지하고 고유한 목록을 생성하는 다양한 방법에 대해 논의합니다.

접근 방법 1: 세트 사용

세트는 순서가 지정되지 않은 개별 객체의 컬렉션입니다. 목록에서 집합을 만들려면 간단히 set() 함수에 전달하면 됩니다. 연산을 되돌리려면 list() 함수를 사용하세요.

t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8]
unique_list = list(set(t))  # [1, 2, 3, 5, 6, 7, 8]

접근법 2: 순서 유지

원래 순서를 유지하는 것이 중요한 경우 다음 방법을 사용할 수 있습니다.

아. OrderedDict

OrderedDict는 키 삽입 순서를 추적합니다. 해당 키로 목록을 생성하면 순서가 유지됩니다.

from collections import OrderedDict
unique_list = list(OrderedDict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]

b. 사전(Python 3.7 )

Python 3.7부터 사전은 기본적으로 삽입 순서를 유지합니다.

unique_list = list(dict.fromkeys(t))  # [1, 2, 3, 5, 6, 7, 8]

해시성에 대한 참고 사항

앞서 언급한 기술을 사용하려면 요소가 해시 가능해야 합니다. 즉, 요소를 사전 키로 사용할 수 있습니다. 해시할 수 없는 객체(예: 목록)에는 중첩 루프와 관련된 느린 접근 방식이 필요합니다.

위 내용은 순서를 유지하거나 무시하면서 Python 목록에서 중복 요소를 효율적으로 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.