Maison > développement back-end > Tutoriel Python > Pourquoi n'y a-t-il pas de compréhension native des tuples en Python ?

Pourquoi n'y a-t-il pas de compréhension native des tuples en Python ?

Mary-Kate Olsen
Libérer: 2024-11-07 15:38:02
original
721 Les gens l'ont consulté

Why Is There No Native Tuple Comprehension in 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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal