Con el lanzamiento de Python 3.5 , la manipulación de listas, tuplas, conjuntos y dictos se volvió más golfista.
Convertir un iterable en un conjunto / lista
Compara los pares:
set(T)
{*T}
list(T)
[*T]
tuple(T)
(*T,)
¡Mucho más corto! Sin embargo, tenga en cuenta que si solo desea convertir algo en una lista y asignarlo a una variable, el desempaquetado iterativo extendido normal es más corto:
L=[*T]
*L,=T
Una sintaxis similar funciona para las tuplas:
T=*L,
que es como desempaquetar iterable extendido, pero con el asterisco y la coma en el otro lado.
Unirse a listas / tuplas
Desempacar es un poco más corto que la concatenación si necesita agregar una lista / tupla a ambos lados:
[1]+T+[2]
[1,*T,2]
(1,)+T+(2,)
(1,*T,2)
Imprimir el contenido de múltiples listas
Esto no se limita a print
, pero definitivamente es de donde vendrá la mayor parte del kilometraje. PEP448 ahora permite el desempaque múltiple, así:
>>> T = (1, 2, 3)
>>> L = [4, 5, 6]
>>> print(*T,*L)
1 2 3 4 5 6
Actualización de múltiples elementos del diccionario
Esto probablemente no sucederá muy a menudo, pero la sintaxis se puede usar para ahorrar en la actualización de diccionarios si está actualizando al menos tres elementos:
d[0]=1;d[1]=3;d[2]=5
d={**d,0:1,1:3,2:5}
Esto básicamente niega cualquier necesidad de dict.update
.