대규모 데이터 세트 처리와 같은 다양한 프로그래밍 시나리오에서 청크 목록을 반복해야 할 필요성이 발생합니다. 이 문서에서는 이 작업을 수행하는 가장 효율적이고 Python적인 방법을 자세히 설명합니다.
전통적으로 명시적인 인덱스 조작과 함께 범위 루프를 사용하는 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적인 우아함이 부족합니다.
더 Python적인 대안은 제안:
while ints: foo += ints[0] * ints[1] + ints[2] * ints[3] ints[0:4] = []
이 접근 방식은 Python의 리스트 슬라이싱을 활용하여 처리된 요소를 제거하여 더욱 깔끔한 솔루션을 제공합니다.
Python 3.12의 Chunker() 소개
Python 3.12가 출시되면서 많은 기대를 모았던 Chunker() 함수가 소개:
from itertools import islice def chunker(seq, size): it = iter(seq) while True: chunk = list(islice(it, size)) if not chunk: break yield chunk
이 기능은 모든 유형의 시퀀스를 우아하게 반복하여 원하는 크기의 덩어리로 나눕니다. 다음 예는 그 다양성을 보여줍니다.
text = "I am a very, very helpful text" for group in chunker(text, 7): print(repr(group),) # 'I am a ' 'very, v' 'ery hel' 'pful te' 'xt' print('|'.join(chunker(text, 10))) # I am a ver|y, very he|lpful text animals = ['cat', 'dog', 'rabbit', 'duck', 'bird', 'cow', 'gnu', 'fish'] for group in chunker(animals, 3): print(group) # ['cat', 'dog', 'rabbit'] # ['duck', 'bird', 'cow'] # ['gnu', 'fish']
chunker() 함수는 Python의 이미 풍부한 목록 조작 생태계를 강화하고 사용자 친화성을 더욱 돋보이게 합니다.
위 내용은 Python에서 청크 목록을 효율적으로 반복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!