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.
3 Réponses :
Si un tuple est traceur pourquoi le code suivant donne une erreur? P>
car
pour i, j in (5, 7, ..., n) code> est essentiellement équivalent à: p>
xxx pré> et le résultat résultant
int code> 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. P>
Ce que vous pouvez faire est l'affectation plus simple: p>
xxx pré> La syntaxe que vous utilisez actuellement s'appliquerait si chaque élément du tuple est ibler, tel que: p>
xxx pré>
* 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»? em> p>
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> blockQuote>
@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
Votre ou vous pouvez simplement faire: p> mais combinant les deux n'a de sens que si vous avez un tuple de tuples, comme pour code> La boucle tente de décompresser un tuple de chaque élément du tuple. Vous pouvez plutôt faire:
((5, 7), (9, 11)) code>. p> p>
Lorsque vous utilisez le si vous souhaitez décompresser les éléments du tuple, vous devez le faire comme ceci: P> 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
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)
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