Je viens de démarrer Python et je suis tombé sur quelque chose d'étrange.Variables d'assignation permanentes Python
Le code suivant affecte une coordonnée de x = 1 et y = 2 au test de variable. La variable test2 s'attribue la même valeur que test, puis la valeur [x] pour test2 est remplacée par l'ancienne valeur [x] moins 1. Cela fonctionne bien, cependant, quand la dernière partie est exécutée, non seulement elle est moins 1 à partir de la valeur [x] dans test2, il fait la même chose avec la valeur [x] dans la variable de test.
test = [1,2];
test2 = test;
test2[1] = test2[1] - 1;
J'ai trouvé faire ce qui suit a bien fonctionné, mais je ne comprends toujours pas pourquoi la première méthode modifie la valeur de test ainsi que la valeur de test2.
test = [1,2];
test2 = test;
test2 = [test2[0] -1 ,test2[1]];
Quelqu'un pourrait-il expliquer pourquoi cela se produit?
Merci Vous TheLorax
Cette 'test2 [1] = test2 [1] - 1;' ne correspond pas à votre description. 'test2 [1]' est la valeur _y_ pour le tableau; la valeur _x_ serait 'test2 [0]'. –
Astuce du pro: En Python les points-virgules sont inutiles et il est conventionnel de les omettre. :) – jathanism