목록을 대략 동일한 길이의 부분으로 나누기
Python에서 내장 함수 청크(코드 스니펫에 제공됨)는 다음을 수행할 수 있습니다. 목록을 지정된 크기의 덩어리로 분할합니다. 그러나 목록을 원하는 청크 크기로 나눌 수 없으면 청크 크기가 고르지 않게 됩니다.
거의 동일한 부분을 생성하려면 목록 생성기를 사용할 수 있습니다.
def split(a, n): k, m = divmod(len(a), n) return (a[i*k+min(i, m):(i+1)*k+min(i+1, m)] for i in range(n))
이 함수는 목록 길이를 부분 수로 나눌 때 청크 크기(k)와 나머지(m)를 결정합니다. 그런 다음 인덱스 i*k에서 시작하여 인덱스 (i 1)*k에서 끝나는 목록에서 청크를 생성합니다. 이렇게 하면 첫 번째 m 청크에 나머지 부분의 추가 요소가 포함되어 대략 동일한 크기의 부품이 생성됩니다.
예:
>>> list(split(range(11), 3)) [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10]]
이 예에서는 목록 범위(11)는 세 부분으로 분할되어 크기 4, 4, 3의 청크가 됩니다.
위 내용은 Python에서 목록을 대략 동일한 부분으로 나누는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!