a, b =
Built-in Data Structures

Meaning

This chunk performs tuple unpacking assignment, simultaneously binding multiple variables to the elements of a tuple. It solves the pain point of writing several separate assignment statements, reducing boilerplate and keeping related values together. It is triggered whenever a known ordered collection (often a literal tuple) contains exactly the values you need to assign to distinct variables.

Primary Function

Tuple unpacking

Communicative Purpose

Enables simultaneous assignment of multiple variables from a tuple

Pattern

first, second = (first_value, second_value)

Core Structure

... = (...)

Função primária

Tuple unpacking

Propósito comunicativo

Enables simultaneous assignment of multiple variables from a tuple

Situações de gatilho

Data processing: extracting x and y coordinates from a point tuple Configuration loading: assigning host and port from a (host, port) tuple

Contextos

Python scripts, data‑analysis notebooks, web‑framework view functions, command‑line utilities

Padrão

first, second = (first_value, second_value)

Estrutura central

... = (...)

Slots de substituição

first: variable name, second: variable name, first_value: any expression, second_value: any expression

Colocados típicos

  • multiple assignment
  • function return
  • list comprehension

Substituições comuns

  • Use a list instead of a tuple: first
  • second = [val1
  • val2] – works similarly but the container is mutable Swap variables: a
  • b = b
  • a – concise way to exchange values without a temporary variable

Erros comuns

Mismatched length: a, b = (1, 2, 3) raises ValueError because the tuple has more items than variables Using non‑iterable on the right‑hand side: a, b = 5 raises TypeError Assuming parentheses are required: a, b = 1, 2 works, but adding extra parentheses can confuse readability

Similar / contraste

List unpacking vs tuple unpacking – same syntax, different container type Multiple assignment vs chained assignment (a = b = 0) – the former unpacks, the latter assigns the same value

Interferências

Coming from JavaScript: may try to use [a, b] = [1, 2] syntax — Python requires commas without brackets or uses parentheses Coming from C#: might expect tuple types to be declared explicitly – Python creates the tuple implicitly

Família do chunk

  • multiple assignment
  • sequence unpacking
  • destructuring assignment

Nuance

Do not use when the right‑hand side length is uncertain; a mismatch raises a runtime error Performance impact is negligible; the operation is a simple sequence unpacking If the iterable is a generator, it will be consumed during unpacking, which may be unintended

Efeito pragmático

Reduces boilerplate, makes code clearer, and prevents off‑by‑one errors when extracting multiple related values.

Dica de memória

Tuple unpacking is like a mail sorter handing each letter to its destined mailbox in one swift sweep.

Nota

Parentheses around the tuple are optional; `a, b = 1, 2` is equivalent to `a, b = (1, 2)`.

Upgrade path

Extended unpacking with * (e.g., a, *rest = seq) and nested unpacking like (a, (b, c)) = ((1, (2, 3)))

Frequência: HighFormulaicidade: FixedTipo de construção: assignmentPrioridade de aquisição: Automatic productionPrioridade de output: BothTag de espaçamento: Immediate

Log in to save chunks.