Resumo : neste tutorial, você aprenderá como descompactar uma lista em Python para tornar seu código mais conciso.
Introdução à descompactação da lista
O exemplo a seguir define uma lista de strings :
colors = ['red', 'blue', 'green']
Linguagem de código: Python ( python )
Para atribuir o primeiro, segundo e terceiro elementos da lista a variáveis , você pode atribuir elementos individuais a variáveis como este:
red = colors[0]
blue = colors[1]
green = colors[2]
Linguagem de código: Python ( python )
No entanto, Python oferece uma maneira melhor de fazer isso. É chamado de descompactação de sequência.
Basicamente, você pode atribuir elementos de uma lista (e também de uma tupla ) a múltiplas variáveis. Por exemplo:
red, blue, green = colors
Linguagem de código: Python ( python )
Esta instrução atribui o primeiro, segundo e terceiro elementos da colors
lista às variáveis red
, blue
e green
.
Neste exemplo, o número de variáveis do lado esquerdo é igual ao número de elementos da lista do lado direito.
Se você usar menos variáveis no lado esquerdo, receberá um erro. Por exemplo:
colors = ['red', 'blue', 'green']
red, blue = colors
Linguagem de código: Python ( python )
Erro:
ValueError: too many values to unpack (expected 2)
Linguagem de código: Python ( python )
Nesse caso, o Python não conseguiu descompactar três elementos em duas variáveis.
Desembalar e embalar
Se quiser descompactar os primeiros elementos de uma lista e não se importar com os outros elementos, você pode:
- Primeiro, descompacte os elementos necessários em variáveis.
- Segundo, empacote os elementos restantes em uma nova lista e atribua-a a outra variável.
Ao colocar o asterisco ( *
) na frente do nome de uma variável, você empacotará os elementos restantes em uma lista e os atribuirá a uma variável. Por exemplo:
colors = ['red', 'blue', 'green']
red, blue, *other = colors
print(red)
print(blue)
print(other)
Linguagem de código: Python ( python )
Saída:
red
blue
['green']
Linguagem de código: Python ( python )
Este exemplo atribui o primeiro e o segundo elementos da colors
lista às variáveis red
e green
. E atribui o último elemento da lista à other
variável.
Aqui está outro exemplo:
colors = ['cyan', 'magenta', 'yellow', 'black']
cyan, magenta, *other = colors
print(cyan)
print(magenta)
print(other)
Linguagem de código: Python ( python )
Saída:
cyan
magenta
['yellow', 'black']
Linguagem de código: Python ( python )
Este exemplo atribui o primeiro e o segundo elementos às variáveis. Ele empacota os dois últimos elementos em uma nova lista e atribui a nova lista à other
variável.
Resumo
- A descompactação atribui elementos da lista a múltiplas variáveis.
- Use o asterisco (*) na frente de uma variável como esta *variable_name para empacotar os elementos restantes de uma lista em outra lista.