Malgré la disponibilité de compréhensions de listes et de dictionnaires en Python, une omission notable est la compréhension de tuple. Tenter de construire un tuple en utilisant la syntaxe d'une compréhension aboutit à la place à un générateur. Cela soulève la question : pourquoi ?
L'hypothèse initiale selon laquelle l'immuabilité exclut la compréhension des tuples est incorrecte. Python permet de créer des constructions immuables via des compréhensions, comme le démontrent les compréhensions de dictionnaires.
La principale différence entre les compréhensions de tuples et les expressions génératrices réside dans leur objectif. Les expressions génératrices, entre parenthèses, produisent des séquences de valeurs à la demande. En revanche, les compréhensions de tuples viseraient à créer une collection de valeurs de taille fixe.
Étant donné que les parenthèses sont déjà utilisées pour les expressions génératrices, elles ne peuvent pas être réutilisées pour les compréhensions de tuples. Cette ambiguïté syntaxique créerait de la confusion et gênerait la lisibilité.
Bien qu'il n'existe pas de syntaxe directe pour la compréhension des tuples, le résultat souhaité peut être obtenu en convertissant explicitement une expression génératrice en un tuple utilisant la fonction tuple() :
<code class="python">my_tuple = tuple(i for i in (1, 2, 3))</code>
Cette approche offre la flexibilité d'utiliser des expressions génératrices tout en spécifiant explicitement le résultat du tuple prévu.
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!