> 백엔드 개발 > 파이썬 튜토리얼 > 청크 단위로 Python 목록을 효율적으로 반복하려면 어떻게 해야 합니까?

청크 단위로 Python 목록을 효율적으로 반복하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2024-12-19 19:36:10
원래의
331명이 탐색했습니다.

How Can I Efficiently Iterate Over a Python List in Chunks?

청크의 목록 반복: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿