Maison > Article > développement back-end > Pourquoi n’y a-t-il pas de compréhension native des tuples en Python ?
Compréhension de tuples en Python : percer le mystère
Python fournit des compréhensions de listes et de dictionnaires comme moyens pratiques de créer de nouvelles collections. Cependant, la compréhension des tuples semble sensiblement absente. Cela soulève la question : pourquoi n'y a-t-il pas de syntaxe native de compréhension de tuple en Python ?
Contrairement à l'hypothèse selon laquelle l'immuabilité en est la raison, nous pouvons créer des objets immuables au sein des compréhensions à l'aide du constructeur tuple(). Par exemple :
<code class="python">[tuple(i for i in range(3))] # Immutability is not the issue</code>
Au lieu de cela, le manque de compréhension des tuples vient du fait que les parenthèses sont déjà utilisées pour les expressions génératrices. Considérez l'extrait suivant :
<code class="python">(i for i in range(3)) # This is a generator expression, not a tuple comprehension</code>
Pour résoudre ce chevauchement, on pourrait utiliser des accolades pour la compréhension des tuples ; cependant, ils sont déjà réservés aux compréhensions d'ensembles.
La solution réside dans l'exploitation des parenthèses combinées au constructeur tuple() :
<code class="python">tuple(i for i in range(3)) # Creating a tuple from a generator expression</code>
Cette approche combine efficacement la commodité des compréhensions avec l'immuabilité nature des tuples.
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!