반복되는 값으로 다양한 크기의 목록을 압축하는 방법
길이가 다른 목록을 처리할 때 내장된 zip() 함수 당신을 부족하게 만들 수 있습니다. 원래 질문은 B가 더 짧더라도 필요에 따라 해당 값을 반복하여 목록 A와 B를 압축하는 방법을 찾고 있습니다.
루프를 사용하여 제공된 코드로 이를 달성할 수 있지만 itertools를 사용하면 더 간결한 솔루션을 사용할 수 있습니다. .주기. 이 함수는 제공된 iterable을 순환하여 무한정 반복하는 반복자를 반환합니다.
itertools.cycle을 사용하는 솔루션:
from itertools import cycle A = [1,2,3,4,5,6,7,8,9] B = ["A","B","C"] zip_list = zip(A, cycle(B)) if len(A) > len(B) else zip(cycle(A), B)
이 경우 A가 B보다 길면 zip_list는 A의 값을 B의 반복되는 값과 쌍을 이루어 모든 요소가 포함되도록 합니다. B가 A보다 길면 프로세스가 반대가 됩니다.
itertools.cycle 함수는 이러한 반복 페어링을 수행하는 편리한 방법을 제공하므로 Python에서 다양한 크기의 목록을 처리하는 데 효율적인 솔루션이 됩니다.
위 내용은 Python에서 반복되는 값으로 길이가 다른 목록을 압축하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!