Compréhension des tuples en Python

Vaibhav Vaibhav 10 octobre 2023
Compréhension des tuples en Python

Le langage de programmation Python a une syntaxe simple et facile à comprendre. La syntaxe est si simple que l’on peut rapidement écrire des codes à une ligne avec Python. Une de ces fonctionnalités est l’itération de liste ou la compréhension de liste. Nous pouvons parcourir une liste et retourner une nouvelle liste avec des carrés d’éléments de liste rapidement en faisant ceci [i ** 2 pour i dans [1, 2, 3, 4, 5, 6, 7]]. La même chose s’applique aux dictionnaires ; ils peuvent également être itérés sur une seule ligne.

Python a diverses structures de données linéaires telles que des listes, des tuples, etc. La compréhension de liste montrée ci-dessus ne s’applique pas aux tuples. Cela signifie que nous ne pouvons pas effectuer (i ** 2 for i in (1, 2, 3, 4, 5, 6, 7)). Cela lancera une erreur. Si cela n’est pas possible, comment effectuer une compréhension de tuple en une seule ligne en Python ? Cet article parlera de la même chose.

Compréhension des tuples en Python

On peut effectuer une compréhension de tuple en Python en utilisant la syntaxe suivante.

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

Production:

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

Python 3.5 a proposé une nouvelle façon d’effectuer la compréhension de tuple. Il utilisait le processus de déballage. Nous pouvons utiliser * pour effectuer le déballage. Reportez-vous au code suivant pour la même chose.

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

Production:

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

Notez que cette syntaxe équivaut à écrire 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))

Production:

(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.

Article connexe - Python Tuple