Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Padrões Avançados de Empacotamento e Desempacotamento | Empacotamento e Desempacotamento em Python
Conceitos de Programação Funcional em Python

bookPadrões Avançados de Empacotamento e Desempacotamento

Deslize para mostrar o menu

O desempacotamento estendido em Python permite capturar múltiplos elementos de uma sequência em uma única variável usando o operador *. Essa técnica é especialmente útil quando se deseja atribuir o primeiro e o último elemento a variáveis específicas e coletar os elementos restantes entre eles.

Note
Nota

O operador * instrui o Python a coletar todos os elementos restantes que não foram atribuídos a outras variáveis.

123456
numbers = [1, 2, 3, 4, 5] first_val, *middle_vals, last_val = numbers print("first_val:", first_val) print("*middle_vals:", middle_vals) print("last_val:", last_val)
copy

Neste caso, *middle_vals captura todos os elementos entre o primeiro e o último, então middle_vals torna-se [2, 3, 4].

Na atribuição:

a, *b, c = [1, 2, 3, 4, 5]

  • A variável a recebe o primeiro valor;
  • c recebe o último;
  • b reúne todos os valores intermediários.

Essa abordagem torna o código mais flexível e expressivo, especialmente ao lidar com sequências de comprimento desconhecido ou variável. O desempacotamento estendido não se limita a listas; funciona com qualquer iterável, incluindo tuplas e até mesmo strings. Ao dominar esses padrões, é possível escrever códigos mais limpos e legíveis, que se adaptam facilmente a mudanças na estrutura dos dados.

question mark

O que a variável *c captura na atribuição a, b, *c = [1, 2, 3, 4, 5]?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 5
some-alt