Compreensão de tupla em Python

Vaibhav Vaibhav 10 outubro 2023
Compreensão de tupla em Python

A linguagem de programação Python tem uma sintaxe direta e fácil de entender. A sintaxe é tão simples que é possível escrever códigos de uma linha rapidamente com Python. Um desses recursos é a iteração ou compreensão da lista. Podemos iterar sobre uma lista e retornar uma nova lista com quadrados de elementos de lista rapidamente fazendo isto [i ** 2 for i in [1, 2, 3, 4, 5, 6, 7]]. O mesmo se aplica aos dicionários; eles também podem ser iterados em uma única linha.

Python tem várias estruturas de dados lineares, como listas, tuplas, etc. A compreensão de lista mostrada acima não se aplica a tuplas. Isso significa que não podemos executar (i ** 2 for i in (1, 2, 3, 4, 5, 6, 7)). Isso gerará um erro. Se isso não for possível, como executamos a compreensão da tupla em uma única linha no Python? Este artigo vai falar sobre o mesmo.

Compreensão de tupla em Python

Pode-se realizar a compreensão da tupla em Python usando a seguinte sintaxe.

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))

Resultado:

(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
(1, 4, 9, 16, 25, 36, 49)
<class 'tuple'>

Python 3.5 surgiu com uma nova maneira de realizar a compreensão de tupla. Ele estava usando o processo de desempacotamento. Podemos usar * para realizar a descompactação. Consulte o seguinte código para o mesmo.

x = (*(i for i in [1, 2, 3, 4, 5, 6, 7]),)  # Notice the comma (,) at the end
print(x)
print(type(x))

Resultado:

(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>

Observe que esta sintaxe é equivalente a escrever x = tuple([i for i in [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))

Resultado:

(1, 2, 3, 4, 5, 6, 7)
<class 'tuple'>
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artigo relacionado - Python Tuple