순서를 유지하면서 Python 목록에서 중복 항목을 효율적으로 제거하는 방법은 무엇입니까?
Dec 20, 2024 pm 12:42 PM목록에서 중복 항목 제거
Python에서는 목록에서 중복 항목을 확인하고 중복 항목 없이 새 목록을 반환하는 것이 일반적인 작업입니다. 이를 수행하는 데는 여러 가지 접근 방식이 있습니다.
세트 사용
세트는 순서가 지정되지 않은 개별 개체의 컬렉션입니다. 중복 항목을 제거하는 효율적인 방법을 제공합니다. 목록에서 집합을 만들려면 간단히 set() 함수에 전달하면 됩니다. 다시 목록으로 변환하려면 list() 함수를 사용하세요. 그러나 이 방법은 요소의 원래 순서를 유지하지 않습니다.
t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8] list(set(t)) # [1, 2, 3, 5, 6, 7, 8]
순서 유지
원래 순서를 유지하는 것이 중요한 경우 collections.OrderedDict 모듈을 사용할 수 있습니다. OrderedDict는 항목의 삽입 순서를 유지합니다. 목록을 OrderedDict로 변환한 다음 다시 목록으로 변환하여 순서를 유지합니다.
from collections import OrderedDict list(OrderedDict.fromkeys(t)) # [1, 2, 3, 5, 6, 7, 8]
Python 3.7에서 사전 사용
Python 3.7 이상에서는 일반 사전 또한 삽입 순서를 유지합니다. 따라서 다음 접근 방식을 사용할 수 있습니다.
list(dict.fromkeys(t)) # [1, 2, 3, 5, 6, 7, 8]
고려 사항
이러한 모든 방법을 사용하려면 목록의 항목이 해시 가능(즉, 변경 불가능)해야 합니다. . 항목이 해시 가능하지 않은 경우(예: 목록) 중첩 루프 비교를 포함하는 더 느린 접근 방식이 필요합니다.
위 내용은 순서를 유지하면서 Python 목록에서 중복 항목을 효율적으로 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tensorflow 또는 Pytorch로 딥 러닝을 수행하는 방법은 무엇입니까?
