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

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

DDD
풀어 주다: 2024-12-05 17:37:11
원래의
452명이 탐색했습니다.

How Can I Efficiently Remove Consecutive Duplicate Elements in Python?

Python에서 연속 중복 요소 제거

Python에서는 목록에서 연속 중복 요소를 제거하는 작업에 여러 가지 방법으로 접근할 수 있습니다. 한 가지 접근 방식은 목록을 반복하고 동일한 값을 가진 인접한 요소를 삭제하는 것입니다. 그러나 이 방법은 긴 목록을 처리할 때 번거로울 수 있습니다.

보다 효율적이고 우아한 솔루션을 위해 Python의 내장 함수와 라이브러리를 활용할 수 있습니다. itertools.groupby를 사용하면 연속된 중복 요소를 그룹화하고 그에 따라 결과 생성기를 조작할 수 있습니다.

연속적인 모든 중복 요소를 제거하려면 그룹화된 반복자에서 키를 추출하기만 하면 됩니다.

L = [1,1,1,1,1,1,2,3,4,4,5,1,2]
from itertools import groupby
[key for key, _group in groupby(L)]
로그인 후 복사

출력:

[1, 2, 3, 4, 5, 1, 2]
로그인 후 복사

연속 중복되는 요소만 제거해야 하는 질문의 두 번째 부분에서는 다음을 수행할 수 있습니다. 각 그룹의 요소 수를 기준으로 그룹화된 반복자를 필터링합니다. 생성기 표현식을 사용하면 요소를 합산하여 그룹에 두 개 이상의 요소가 있는지 확인할 수 있습니다.

[k for k, g in groupby(L) if sum(1 for i in g) < 2]
로그인 후 복사

출력:

[2, 3, 5, 1, 2]
로그인 후 복사

이 기술은 비교했을 때 더 Pythonic하고 효율적입니다. 초기 시도에. Python의 내장 기능을 활용하여 목록을 그룹화하고 필터링함으로써 간결하고 읽기 쉬운 솔루션을 제공합니다.

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

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