Comprensión de tuplas en Python
El lenguaje de programación Python tiene una sintaxis sencilla y fácil de entender. La sintaxis es tan simple que uno puede escribir rápidamente códigos de una sola línea con Python. Una de esas características es la iteración de listas o la comprensión de listas. Podemos iterar sobre una lista y devolver una nueva lista con cuadrados de elementos de lista rápidamente haciendo esto [i ** 2 for i in [1, 2, 3, 4, 5, 6, 7]]
. Lo mismo se aplica a los diccionarios; también se pueden iterar en una sola línea.
Python tiene varias estructuras de datos lineales como listas, tuplas, etc. La comprensión de la lista que se muestra arriba no se aplica a las tuplas. Esto significa que no podemos realizar (i ** 2 por i en (1, 2, 3, 4, 5, 6, 7))
. Esto arrojará un error. Si esto no es posible, ¿cómo realizamos la comprensión de tuplas en una sola línea en Python? Este artículo hablará sobre lo mismo.
Comprensión de tuplas en Python
Se puede realizar la comprensión de tuplas en Python usando la siguiente sintaxis.
x = tuple(i for i in (1, 2, 3, 4, 5, 6, 7))
print(x)
print(type(x))
y = tuple(i ** 2 for i in (1, 2, 3, 4, 5, 6, 7))
print(y)
print(type(y))
Producción :
(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
(1, 4, 9, 16, 25, 36, 49)
<class 'tuple'>
Python 3.5 ideó una nueva forma de realizar la comprensión de tuplas. Estaba utilizando el proceso de desembalaje. Podemos utilizar *
para realizar el desembalaje. Consulte el siguiente código para el mismo.
x = (*(i for i in [1, 2, 3, 4, 5, 6, 7]),) # Notice the comma (,) at the end
print(x)
print(type(x))
Producción :
(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
Tenga en cuenta que esta sintaxis es equivalente a escribir x = tuple([i para i en [1, 2, 3, 4, 5, 6, 7]])
.
x = tuple([i for i in [1, 2, 3, 4, 5, 6, 7]])
print(x)
print(type(x))
Producción :
(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>