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