청크의 목록 반복: Pythonic 솔루션
이 문서에서는 청크의 Python 목록을 반복하는 방법을 살펴봅니다. 특정 수의 요소로 구성됩니다. 주어진 상황에서는 한 번에 4개의 정수를 사용하는 작업이 포함됩니다.
기존 접근 방식
제공된 코드 부분은 목록을 청크하는 C 스타일 접근 방식을 보여줍니다.
for i in range(0, len(ints), 4): # dummy op for example code foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
이 방법은 기능적이지만 Python의 관용어와 일치하지 않을 수 있습니다. 원칙.
파이썬 솔루션
1. 청커 함수 사용
Python 3.12부터 Python에서는 모든 시퀀스를 청크하는 간결하고 효율적인 방법을 제공하는 청커 함수를 도입했습니다.
def chunker(seq, size): return (seq[pos:pos + size] for pos in range(0, len(seq), size))
이 함수는 생성기를 생성합니다. 이는 주어진 시퀀스에서 지정된 크기의 청크를 생성합니다. 다음 코드는 사용법을 보여줍니다.
for group in chunker(text, 7): print(repr(group),)
2. itertools.islice 사용
3.12 이전 Python 버전의 경우 itertools.islice를 청킹에 활용할 수 있습니다.
from itertools import islice def grouper(seq, size): it = iter(seq) while True: chunk = list(islice(it, size)) if not chunk: return yield chunk
이 함수는 유사하게 요소 목록을 생성하는 생성기를 생성합니다. 에서 시퀀스.
결론
청커 함수는 Python 3.12 이상에서 청크 목록을 위한 기본적이고 효율적인 솔루션을 제공합니다. 이전 버전의 경우 그룹화 기능이 적합한 대안을 제공합니다. 이러한 방법을 사용하면 대규모 목록으로 작업할 때 더 간결하고 관용적인 코드를 사용할 수 있습니다.
위 내용은 청크 단위로 Python 목록을 효율적으로 반복하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!