다양한 길이의 목록을 작업할 때 함께 압축하는 것이 어려울 수 있습니다. Python의 기본 zip() 함수는 짧은 목록의 요소를 긴 목록의 요소와 쌍으로 연결하고 긴 목록의 나머지 요소는 쌍을 이루지 않은 상태로 둡니다. 이러한 제한 사항을 해결하기 위해 반복 반복의 힘을 활용할 수 있습니다.
더 짧은 목록을 반복하는 효과적인 방법 중 하나는 itertools.cycle 기능을 활용하는 것입니다. 이 함수는 소진된 후에도 iterable의 요소를 끝없이 반복하는 반복자를 만듭니다. 사이클을 압축 작업에 통합하면 긴 목록이 완전히 포함될 때까지 짧은 목록이 반복되도록 할 수 있습니다.
itertools.cycle을 활용하여 다양한 크기의 목록을 압축하는 것은 간단합니다. . 다음 코드 조각은 그 구현을 보여줍니다.
<code class="python">import itertools A = [1, 2, 3, 4, 5, 6, 7, 8, 9] B = ["A", "B", "C"] from itertools import cycle zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B) for item in zip_list: print(item)</code>
제공된 코드를 실행하면 다음과 같은 출력이 생성됩니다.
(1, 'A') (2, 'B') (3, 'C') (4, 'A') (5, 'B') (6, 'C') (7, 'A') (8, 'B') (9, 'C')
관찰할 수 있듯이 더 짧을수록 목록 B는 더 긴 목록 A의 모든 요소가 쌍을 이룰 때까지 반복됩니다. 이러한 원활한 반복을 통해 페어링되지 않은 요소가 남아 있지 않으므로 데이터 손실 없이 전체 목록에 대한 작업을 수행할 수 있습니다.
위 내용은 반복 반복을 사용하여 Python에서 다른 크기의 목록을 압축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!