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

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

Patricia Arquette
Patricia Arquette원래의
2024-12-20 00:18:08920검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.