파이썬에서 목록에서 중복 항목을 제거하는 방법
목록에서 중복을 제거하려면 순서가 필요하지 않은 경우 목록 (set (ordigin_list))를 사용할 수 있습니다. 이는 가장 빠르지 만 주문을 보장하지 않습니다. 주문이 필요한 경우 (Dict.FromKeys (Original_List))를 나열하는 것이 좋습니다. 이는 효율적이며 Python 3.7의 삽입 순서를 유지합니다. 사전 및 기타 비가 부족한 유형 또는 사용자 정의 중복 제거 로직의 경우 루프를 사용하여 Seeen 목록 또는 수집으로 수동으로 제어해야합니다. 복잡한 구조가 처리되면 JSON.dumps () 또는 tuple ()을 통해 변환 및 처리 할 수 있습니다. 요약하면 Dict.fromkeys ()는 일반적으로 성능, 가독성 및 주문 보존을 고려할 수있는 최상의 선택입니다.
Python의 목록에서 중복 항목을 제거하는 것은 일반적인 작업이며 원래 순서를 보존 해야하는지 여부와 같은 요구에 따라 여러 가지 방법이 있습니다. 가장 실용적인 방법은 다음과 같습니다.
1. set()
사용
요소 순서가 중요하지 않은 경우, 세트가 고유 한 값 만 저장하므로 목록을 세트로 변환하는 것이 중복을 제거하는 가장 빠른 방법입니다.
original_list = [3, 1, 2, 2, 1, 3, 4] 고유 _list = list (set (original_list)) print (고유 _list) # 출력은 다음과 같습니다. [1, 2, 3, 4]
⚠️ 참고 : 세트가 변하지 않은 컬렉션이기 때문에 항목 순서는 보장되지 않습니다.
이 방법은 주문이 중요하지 않은 경우 큰 목록에 효율적입니다.
2. dict.fromkeys()
사용 사용
Python 3.7에서 시작하여 사전은 삽입 순서를 보존합니다. dict.fromkeys()
사용하여 원래 순서를 유지하면서 복제를 제거 할 수 있습니다.
original_list = [3, 1, 2, 2, 1, 3, 4] 고유 _list = list (dict.fromkeys (original_list)) Print (고유 _list) # 출력 : [3, 1, 2, 4]
이것은 일반적으로 각 항목의 첫 번째 발생을 유지하고 순서를 유지하려는 경우 일반적으로 최선의 방법 입니다.
- 빠릅니다 (세트 사용과 유사한 성능)
- 주문을 보존합니다
- 무시할 수없는 유형을 처리합니까? 아니오 - 해시 가능한 항목 (숫자, 문자열, 튜플 등) 만 사용합니다.
3. 복잡한 케이스를위한 루프 사용 (최대 제어)
사전이나 목록과 같은 무시가없는 유형을 다루거나 복제물을 결정하기 위해 사용자 정의 로직이 필요한 경우 루프를 사용하십시오.
original_list = [{ 'id': 1}, { 'id': 2}, { 'id': 1}] 고유 _list = [] seen = [] Original_List의 항목 : 항목 [ 'id']이 표시되지 않는 경우 : 참조. 고유 _list.append (항목) print (고유 _list) # 출력 : [{ 'id': 1}, { 'id': 2}]
이 방법은 큰 데이터의 경우 느리게 느려지지만 전체 제어 기능을 제공합니다. 항목을 "중복"(예 : 키를 기준으로)으로 만드는 항목을 정의 할 수 있습니다.
또는 구조가 허용하는 경우 json.dumps()
또는 tuple()
변환과 함께보다 고급 접근 방식을 사용할 수 있습니다.
4. 도우미 세트와 함께 목록 이해력 사용 (주문 보존, 우수한 성능)
반복하는 동안 세트를 사용하여 항목보기를 수동으로 추적 할 수 있습니다.
original_list = [3, 1, 2, 2, 1, 3, 4] 참조 = set () 고유 _list = [] Original_List의 항목 : 항목이없는 경우 : seen.add (항목) 고유 _list.append (항목) Print (고유 _list) # 출력 : [3, 1, 2, 4]
이것은 dict.fromkeys()
보다 약간 더 장점이지만 필터링 중에 추가 논리를 적용해야 할 때 유용합니다.
요약 : 어떤 방법을 선택해야합니까?
- ✅ 순서 및 간단한 데이터를 보존합니까? →
list(dict.fromkeys(my_list))
- ✅ 명령에 신경 쓰지 않습니까? →
list(set(my_list))
- ✅ 사전 또는 사용자 정의 논리를 다루고 있습니까? → 추적 변수가있는 루프를 사용하십시오
- ⚠️ 목록에 목록 또는 해시가없는 항목이 포함되어 있습니까? → 수동으로 변환하거나 비교해야합니다
대부분의 경우 dict.fromkeys()
판독 가능성, 속도 및 주문 보존을위한 달콤한 장소입니다.
기본적으로 데이터 및 요구 사항에 맞는 방법을 선택하십시오.
위 내용은 파이썬에서 목록에서 중복 항목을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

파이썬 가상 환경을 만들려면 VenV 모듈을 사용할 수 있습니다. 단계는 다음과 같습니다. 1. 프로젝트 디렉토리를 입력하여 환경을 만들기 위해 Python-Mvenvenv 환경을 실행하십시오. 2. Sourceenv/bin/활성화 Mac/Linux 및 Env \ Scripts \ Windows로 활성화; 3. PipinStall 설치 패키지, PipFreeze> 요구 사항을 사용하여 종속성을 내보내십시오. 4. 가상 환경을 GIT에 제출하지 않도록주의하고 설치 중에 올바른 환경에 있는지 확인하십시오. 가상 환경은 프로젝트 종속성을 분리하여 충돌을 방지 할 수 있습니다. 특히 다중 프로젝트 개발에 적합합니다. Pycharm 또는 VScode와 같은 편집자도 있습니다.

USETRACEMALLOCTOTRACKMORYALLOCATIONS 및 HIGH-MEMORYLINES; 2. MONITOROBJECTCOUNTSSWITHGCANDOBJGRAPHTECTETECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTECTESTEBSEPS;

usezoneinfoforpython3.9 thecreateTimezone-awaredateTimes and convertBetweTimezoneswithastimezone (); 2. forpyThon3.6–3.8, usepytzwithlocalize () toavoiddsterrors;

Python을 사용하여 Excel 데이터를 웹 양식으로 채우는 방법은 다음과 같습니다. 먼저 Pandas를 사용하여 Excel 데이터를 읽은 다음 Selenium을 사용하여 브라우저를 제어하여 양식을 자동으로 채우고 제출합니다. 특정 단계에는 팬더, OpenPyxL 및 Selenium 라이브러리 설치, 해당 브라우저 드라이버 다운로드, 팬더를 사용하여 Data.xlsx 파일의 이름, 이메일, 전화 및 기타 필드를 읽고 셀레늄을 통해 브라우저를 시작하여 대상 웹 페이지를 열고, 웹 드라이버 컨텐츠를 찾아서 데이터를 가로 채우고, 예외적 인 컨텐츠를 사용하고, 예외적 인 컨텐츠를 추가하고, 예외적 인 컨텐츠를 가득 채우고, 예외적 인 컨텐츠를 채우고, 데이터를 채우고, 데이터를 채우고, 데이터를 가득 채우고, 예외적 인 컨텐츠를 작성하고, 데이터를 채우고, 데이터를 가득 채우고, 데이터를 가로 지르고, 데이터를 가득 채우고, 데이터를 채우고, 예외적 인 컨텐츠를 가득 채우고, 예외적 인 것으로 모든 데이터 라인을 루프로 양식하고 처리합니다.

사전의 값을 정렬하려면 Sorted () 함수를 사용하여 Dict.Items () 및 주요 매개 변수와 일치합니다. 1. Lambdaitem : Item [1]을 사용하여 오름차순으로 정렬하십시오. 2. reverse add reverse = true 하강 순서를 구현하십시오. 3. justator.itemgetter (1)를 사용하여 Lambda를 대체하여 가독성과 성능을 향상시킵니다. 사전은 Python 3.7에서 삽입 순서를 유지하며, 원래 사전은 변경되지 않고 새로운 사전을 반환합니다. 값 유형이 혼합되면 추가 처리가 필요하고 최종 패턴은 DICT입니다 (DINGED (D.ITEMS (), key = lambdax : x [1])).

가상 환경 생성 : 프로젝트 폴더에서 Python-Mvenvvenv를 실행하십시오. 2. 가상 환경 활성화 : Windows는 Venv \ Scripts \ Activate를 사용합니다. MacOS/Linux는 Sourcevenv/bin/activate를 사용합니다. 3. VSCODE에서 프로젝트를 열고 Ctrl Shift P를 눌러 Python 통역사를 선택하고 가상 환경에서 통역사를 지정하십시오. 4. 효과적인 지 확인 : importsys; print (sys.Executable)를 실행하면 출력 경로가 VenV 폴더를 가리 려야합니다. 5. 선택적 구성 : 설정에서 python.terminal.a를 활성화합니다

JSON 파일을 아름답게하고 인쇄하려면 JSON 모듈의 Indent 매개 변수를 사용해야합니다. 특정 단계는 다음과 같습니다. 1. JSON.LOAD ()를 사용하여 JSON 파일 데이터를 읽습니다. 2. json.dump ()를 사용하고 4 또는 2로 계약을 설정하여 새 파일에 쓰면 형식화 된 JSON 파일을 생성하고 아름다운 인쇄를 완료 할 수 있습니다.

정의 __ () toreturntheiteratorobject, 일반적으로 selforaseparateiteratorinstance
