0
votes

Explication pour la fonctionnalité des tuples pour les boucles

Si un tuple est traceur pourquoi le code suivant donne une erreur? J'ai lu beaucoup de threads à ce sujet mais je ne suis pas capable de comprendre. XXX


0 commentaires

3 Réponses :


3
votes

Si un tuple est traceur pourquoi le code suivant donne une erreur?

car pour i, j in (5, 7, ..., n) est essentiellement équivalent à: xxx

et le résultat résultant int sur le côté droit n'est pas ibler. Vous ne pouvez pas "décompresser" * chaque élément du tuple en outre, car il s'agit d'un seul entier.

Ce que vous pouvez faire est l'affectation plus simple: xxx

La syntaxe que vous utilisez actuellement s'appliquerait si chaque élément du tuple est ibler, tel que: xxx


* des commentaires: pouvez-vous Expliquez-moi ce que vous voulez dire avec la phrase «vous ne pouvez pas« décompresser »chaque élément du tuple, car il s'agit d'un seul entier»?

Déballage est le concept d'expansion ou d'extraction de plusieurs parties d'une chose sur le côté droit dans plusieurs choses sur le côté gauche. Déballage, déballage prolongé et déballage étendu imbriqué donne un aperçu complet du déballage. Il existe également des formes étendues de Déballage Syntaxe spécifié dans PEP 3132. < / p>


2 commentaires

@Mank vous tous pour votre réponse. Vous pouvez vous expliquer ce que vous voulez dire avec la phrase "Vous ne pouvez pas" décompresser "chaque élément du tuple davantage parce qu'il s'agit d'un seul entiers"? Merci beaucoup!


vérifier ma réponse, je pense que cela vous donnera la réponse de cette question



1
votes

Votre pour La boucle tente de décompresser un tuple de chaque élément du tuple. Vous pouvez plutôt faire: xxx

ou vous pouvez simplement faire: xxx

mais combinant les deux n'a de sens que si vous avez un tuple de tuples, comme ((5, 7), (9, 11)) .


0 commentaires

3
votes

Lorsque vous utilisez le pour i, j dans TP1: code> Syntaxe, Python s'attend à ce que l'article soit un appareil itérables, qui peut être décompressé dans les variables I et J. Dans ce cas, lorsque vous ithétiez sur l'article, les membres individuels de l'article sont des Int, qui ne peuvent pas être déballés

si vous souhaitez décompresser les éléments du tuple, vous devez le faire comme ceci: P>

a = [(1,2), (3,4)] 
for i, j in a:  # This unpacks the tuple's contents into i and j as you're iterating over a
    print(i, j)


2 commentaires

Désolé d'avoir pris ça trop loin mais je suis venu d'autres langues où mes missions je, j = 5 résultats i = 5, j = 5.now j'ai obtenu cela. Merci de nouveau tout le monde pour vos explications!


Accepter ma solution si c'est utile