La ligne suivante ne semble pas fonctionner:Pas possible de faire (a, b) + = (1, 2) en python?
(count, total) += self._GetNumberOfNonZeroActions((state[0] + x, state[1] - ring, state[2]))
Je suppose qu'il est impossible d'utiliser l'opérateur + = dans ce cas. Je me demande pourquoi?
edit: En fait ce que je veux c'est ajouter au nombre de variables et totaliser les valeurs données par le tuple retourné par cette fonction. Maintenant que j'y pense, cela n'a pas de sens d'autoriser (a, b) + = (1, 2), car cela créerait un nouveau tuple, n'est-ce pas? En d'autres termes, y a-t-il un moyen de simplifier cela?
res = self._GetNumberOfNonZeroActions((state[0] + x, state[1] + ring, state[2]))
count, total = res[0], res[1]
Après avoir lu vos commentaires en réponse à des réponses, et relisant maintenant votre question, je suis très confus au sujet de votre objectif réel. Votre explication n'inclut pas de boucle, êtes-vous en boucle sur différents états et accumulez-vous? Ou voulez-vous juste un déballage de tuple? Votre "En d'autres termes" semble vouloir juste décompresser le tuple, ce qui pourrait être réalisé en remplaçant le '+ =' dans votre ligne d'origine par '='. Boucler sur + = avec les tuples créera un tuple plus long et plus long. –
Je veux réaliser quelque chose comme l'addition de points, c'est (a, b) = (a, b) + (x, y) = (a + x, b + y). –
Dans ce cas, votre question est fondamentalement la même que http://stackoverflow.com/questions/497885/python-tuple-operations, la solution stupide il y a peut-être moins d'effort que de dépendre de numpy. –