Maison > Article > développement back-end > Pourquoi n’y a-t-il pas de compréhension de tuple en Python ?
Dévoilement de la compréhension des tuples manquants en Python
Dans le domaine de Python, les compréhensions de listes et de dictionnaires sont omniprésentes, transformant de manière transparente les itérables en listes personnalisées et des dictionnaires. Curieusement, les tuples semblent manquer d'un mécanisme de compréhension dédié, laissant les utilisateurs s'interroger sur son absence.
Immuabilité des tuples
On pourrait initialement émettre l'hypothèse que l'immuabilité des tuples exclut compréhension. Cependant, cette théorie est insuffisante car d'autres types immuables, tels que les chaînes, adoptent volontiers les compréhensions.
Origines historiques
La raison sous-jacente découle d'un choix historique fait par Python. créateurs. Lorsque les expressions génératrices (expressions entre parenthèses qui produisent des itérateurs) ont été introduites, il a été jugé inutile de créer une syntaxe de compréhension de tuple distincte. Les parenthèses étaient déjà la notation choisie pour les générateurs, et fournir une syntaxe supplémentaire spécifique aux tuples aurait créé une redondance.
L'expression du générateur à la rescousse
Si l'absence d'un La syntaxe de compréhension des tuples pose un obstacle, n'ayez crainte ! Python propose une solution de contournement en utilisant des parenthèses pour créer une expression génératrice :
<code class="python">tuple(i for i in (1, 2, 3))</code>
Cette expression est évaluée comme un tuple contenant les éléments souhaités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!