Alors que je traversais certaines questions et réponses récemment, j'ai trouvé une question:
0 1 2 2
3 Réponses :
Lorsque vous écrivez:
>>> x = [0, 1, 2, 3] >>> for x[-1] in x: ... print(x,x[-1]) #output [0, 1, 2, 0] 0 # a = 0, make x[-1] = a, x becomes [0, 1, 2, 0], print x[-1] = 0 [0, 1, 2, 1] 1 # a = 1, make x[-1] = a, x becomes [0, 1, 2, 1], print x[-1] = 1 [0, 1, 2, 2] 2 # a = 2, make x[-1] = a, x becomes [0, 1, 2, 2], print x[-1] = 2 [0, 1, 2, 2] 2 # a = 2, make x[-1] = a, x becomes [0, 1, 2, 2], print x[-1] = 2
C'est une bonne question. Pour déterminer ce qui se passe, j'ai développé le code à: le résultat est p> comme vous pouvez le constater, Python utilise le Dernière cellule du tableau - x [-1] code> comme variable qui détient les valeurs, elle est itération terminée. C'est pourquoi, lorsque nous arrivons à la dernière itération, il tient la valeur «2» de l'itération précédente et que ce qu'elle imprime. p> p>
L'explication est destinée à être claire. p>
Voici donc la séquence ce qui se passe sur chaque itération: p>
(avant le début de la boucle) x [-1] code> pointe vers le dernier élément de x code>. p>
pour x [-1] dans x: code> dit simplement: itérer sur des éléments sur x code> et enregistrez la valeur actuelle sur x [-1] Code> p>
x == [0, 1, 2, 3] code> p>
x [-1] = 0 # x == [0, 1, 2, 0] code> li>
x [-1] = 1 # x == [0, 1, 2, 1] code> li>
x [-1] = 2 # x == [0, 1, 2, 2] code> li>
x [-1] = 2 # x == [0, 1, 2, 2] code> li>
ol>
Pourquoi la question est-elle en latin?
J'aimerais pouvoir trouver le duplicata ... Que se passe-t-il est que
x [-1] code> est réaffecté avecsuivant () code> dans chaque itération. Je ne comprends pas ce que vous dites. J'ai écrit la question en anglais.
@dippesh Nous voyons: molesties Vero Quae Deserunt Laborum Voluptatem
je t'ai eu. va éditer la question. Merci
@Akx, mis à jour le titre.
S'il vous plaît Modifier Votre question à lier à la question initiale. Si les réponses ne vous conviennent pas, elles ne sont probablement pas appropriées pour les autres. Des éclaircissements peuvent être nécessaires sur la question initiale.