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

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

Patricia Arquette
풀어 주다: 2024-12-20 00:18:08
원래의
903명이 탐색했습니다.

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

청크 목록 반복: Python의 관점

Python에서 청크 목록 반복 작업은 다음으로 수행할 수 있습니다. 다양한 방법. 일반적인 접근 방식 중 하나는 루프를 사용하여 특정 간격으로 요소에 점진적으로 액세스하는 것입니다.

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 코드에 불필요한 복잡성과 "C-사고"를 도입할 수 있습니다. 보다 Python적인 접근 방식에는 내장된 range() 함수를 활용하고 슬라이싱하는 것이 포함됩니다.

def chunker(seq, size):
    return (seq[pos:pos + size] for pos in range(0, len(seq), size))
로그인 후 복사

청커 함수는 시퀀스를 반복하는 생성기 표현식을 생성하여 다양한 위치에서 시작하여 원하는 크기의 청크를 생성합니다. 이는 매우 효율적이며 명시적인 반복 및 인덱스 조작이 필요하지 않습니다.

예를 들어 다음 코드를 고려해보세요.

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'
로그인 후 복사

여기서 청커 기능은 텍스트를 7개의 그룹으로 나눕니다. 문자, 문자 시퀀스의 튜플을 생성합니다.

마찬가지로 청커 함수를 사용하여 목록과 같은 모든 유형의 시퀀스를 처리할 수 있습니다. 동물:

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']
로그인 후 복사

위 내용은 Python을 사용하여 청크 목록을 효율적으로 반복하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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