[(i, j) for i in range(3) for j in range(2)]
Iteration Patterns

Meaning

Generates a list of tuples representing the Cartesian product of two ranges: i from 0 to 2, j from 0 to 1.

Primary Function

Create a list of coordinate pairs via nested iteration.

Communicative Purpose

Express a concise way to produce a grid of index pairs for iteration or indexing.

Pattern

[(i, j) for i in range(A) for j in range(B)]

Core Structure

[(i, j) for i in range(X) for j in range(Y)]

Função primária

Create a list of coordinate pairs via nested iteration.

Propósito comunicativo

Express a concise way to produce a grid of index pairs for iteration or indexing.

Situações de gatilho

When needing to iterate over a 2D grid, generate coordinate lists, or prepare data for nested loops.

Contextos

Used in list comprehensions, matrix initialization, combinatorial generation, simulation loops.

Padrão

[(i, j) for i in range(A) for j in range(B)]

Estrutura central

[(i, j) for i in range(X) for j in range(Y)]

Slots de substituição

i, j: variable names; A, B: integer range limits or variables.

Colocados típicos

  • range
  • list
  • tuple
  • for
  • in
  • list comprehension

Substituições comuns

  • i
  • j can be any identifier
  • range limits can be any integer expression or variable.

Erros comuns

Missing parentheses around tuple, swapping loop order unintentionally, using incorrect range arguments.

Similar / contraste

[(i, j) for i in range(2) for j in range(3)] (swapped dimensions) vs. [(i, j) for i in range(3) for j in range(2)] (original).

Interferências

Confusing loop order; mistaking list comprehension for generator expression (parentheses vs brackets).

Família do chunk

  • list comprehensions

Nuance

The outer loop variable changes slower than the inner; loop order determines tuple ordering.

Efeito pragmático

Signals intent to produce a structured list of pairs efficiently.

Dica de memória

Picture a 3‑row by 2‑column grid.

Nota

Common idiom for generating coordinate grids; equivalent to list(itertools.product(range(3), range(2))).

Upgrade path

Consider using itertools.product for readability or numpy.meshgrid for numeric grids.

Frequência: Very highFormulaicidade: Semi-fixedTipo de construção: list comprehensionPrioridade de aquisição: Automatic productionPrioridade de output: BothTag de espaçamento: Immediate

Log in to save chunks.