"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi n’y a-t-il pas de compréhension de tuple en Python ?

Pourquoi n’y a-t-il pas de compréhension de tuple en Python ?

Publié le 2025-01-21
Parcourir:958

Why are There No Tuple Comprehensions in 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 :

tuple(i for i in (1, 2, 3))

Cette expression est évaluée comme un tuple contenant le éléments souhaités.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3