크기가 일정하지 않은 목록 압축: 대체 접근 방식 탐색
Python에 내장된 zip 함수의 고유 동작은 다음 목록을 처리할 때 문제를 야기합니다. 다양한 길이. 이는 한 목록이 다른 목록보다 짧아서 쌍을 이루는 요소 수가 동일하지 않은 경우에 분명합니다.
이 제한 사항을 해결하기 위해 원하는 출력을 얻기 위한 몇 가지 기술이 있습니다. 긴 쪽의 길이를 맞춰주세요.
1. itertools.cycle과 함께 zip 함수 활용
이 방법에는 Python의 itertools.cycle 함수를 활용하여 더 짧은 목록의 요소를 끝없이 반복하는 반복 가능 개체를 만드는 것이 포함됩니다. 순환을 활용하면 긴 목록의 요소를 짧은 목록의 반복 요소와 쌍으로 묶는 것이 가능해집니다.
<code class="python">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)</code>
2. 사용자 정의 For 루프 구현
대체 접근 방식은 더 큰 목록을 수동으로 반복하고 각 요소를 더 짧은 목록의 해당 요소와 쌍을 이루는 것입니다. 더 짧은 목록이 소진되면 반복이 처음부터 다시 시작되어 더 큰 목록의 모든 요소가 쌍을 이룰 때까지 요소를 반복합니다.
<code class="python">idx = 0 zip_list = [] for value in larger: zip_list.append((value,smaller[idx])) idx += 1 if idx == len(smaller): idx = 0</code>
이러한 전략 중 하나를 사용하면 개발자는 두 개의 목록을 효과적으로 압축할 수 있습니다. 긴 목록의 길이와 일치하도록 필요에 따라 더 짧은 목록이 반복되도록 합니다. 이는 길이가 다른 목록 작업과 관련된 다양한 데이터 처리 및 조작 작업에 대한 가능성을 열어줍니다.
위 내용은 Python에서 크기가 균일하지 않은 목록을 압축하는 방법: `itertools.cycle` 및 사용자 정의 루프 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!