Com o lançamento do Python 3.5 , a manipulação de listas, tuplas, conjuntos e ditados ficou ainda mais complicada.
Transformando um iterável em um conjunto / lista
Compare os pares:
set(T)
{*T}
list(T)
[*T]
tuple(T)
(*T,)
Muito mais curto! Observe, no entanto, que se você deseja converter algo em uma lista e atribuí-lo a uma variável, a descompactação iterável estendida normal é mais curta:
L=[*T]
*L,=T
Uma sintaxe semelhante funciona para tuplas:
T=*L,
que é como descompactar iterável estendida, mas com o asterisco e a vírgula do outro lado.
Juntando listas / tuplas
A descompactação é um pouco menor que a concatenação se você precisar anexar uma lista / tupla aos dois lados:
[1]+T+[2]
[1,*T,2]
(1,)+T+(2,)
(1,*T,2)
Imprimir o conteúdo de várias listas
Isso não se limita a print
, mas é definitivamente de onde virá a maior parte da milhagem. O PEP448 agora permite a descompactação múltipla, da seguinte forma:
>>> T = (1, 2, 3)
>>> L = [4, 5, 6]
>>> print(*T,*L)
1 2 3 4 5 6
Atualizando vários itens do dicionário
Provavelmente isso não acontecerá com muita frequência, mas a sintaxe pode ser usada para economizar na atualização de dicionários se você estiver atualizando pelo menos três itens:
d[0]=1;d[1]=3;d[2]=5
d={**d,0:1,1:3,2:5}
Isso basicamente nega qualquer necessidade dict.update
.