[my_list[i:i+size] for i in range(0, len(my_list), size)]
Built-in Data Structures

Meaning

This pattern creates a list of consecutive slices (chunks) of a list, each of length 'size', using a list comprehension with range stepping. It is used to split a list into equal-sized parts for batch processing.

Primary Function

List processing / data chunking

Communicative Purpose

To split a list into equal-sized chunks for batch processing.

Pattern

[seq[i:i+chunk_size] for i in range(0, len(seq), chunk_size)]

Core Structure

[...[...:...] for ... in range(0, len(...), ...)]

Função primária

List processing / data chunking

Propósito comunicativo

To split a list into equal-sized chunks for batch processing.

Situações de gatilho

Data processing: processing a large list in batches (e.g., sending API requests in chunks) Parallel computing: grouping items for parallel processing Machine learning: preparing data for mini-batches

Contextos

Data processing scripts Web scraping pipelines Machine learning batching Any scenario requiring fixed-size blocks of a sequence

Padrão

[seq[i:i+chunk_size] for i in range(0, len(seq), chunk_size)]

Estrutura central

[...[...:...] for ... in range(0, len(...), ...)]

Slots de substituição

seq: iterable to chunk (e.g., list, tuple); chunk_size: positive integer size of each chunk

Colocados típicos

  • itertools.islice numpy.array_split pandas.DataFrame.iloc

Substituições comuns

  • numpy.array_split(seq
  • range(0
  • len(seq)
  • chunk_size)) more-itertools.chunked(seq
  • chunk_size) a simple for loop with slicing

Erros comuns

using chunk_size <= 0 leading to infinite or empty chunks forgetting that the final chunk may be smaller if length not a multiple of chunk_size confusing this with stepping slicing seq[::chunk_size]

Similar / contraste

seq[::chunk_size] takes every chunk_size-th element, not blocks a generator function using yield for lazy chunking using textwrap.wrap for strings

Interferências

Coming from C/Java: may write manual index increment loops instead of the idiomatic list comprehension Coming from functional languages: may prefer recursion or library chunkers

Família do chunk

  • list comprehension
  • slicing
  • batching

Nuance

The final chunk will be smaller than chunk_size when len(seq) is not a multiple of chunk_size; chunk_size must be > 0; works on any sequence supporting slicing and len.

Efeito pragmático

Enables efficient batch processing without external libraries.

Dica de memória

Chop the list into chunks with a stepping range.

Nota

Creates a list of consecutive slices (chunks) of a list, each of length 'size', using a list comprehension with range stepping.

Upgrade path

(seq[i:i+chunk_size] for i in range(0, len(seq), chunk_size)) # lazy generator version

Frequência: HighFormulaicidade: Semi-fixedTipo de construção: list comprehensionPrioridade de aquisição: Active recallPrioridade de output: BothTag de espaçamento: Short-term

Log in to save chunks.