0
votes

Question concernant les erreurs d'index et la division

J'ai deux listes et je voulais créer générer les quotients à l'aide d'une boucle. Plus précisément, je voudrais avoir .5 et .25 et .125 et dans cet ordre. Bien sûr, je pouvais simplement prendre ces valeurs et déterminer les quotients manuellement, mais je regarde cela de la perspective de quelqu'un qui prend son premier coup de poignard à l'apprentissage de Python. J'ai lu d'autres articles sur les boucles, mais je ne vois pas pourquoi ce qui est ci-dessous produit: Erreur d'index: Index de la liste hors de portée. Ainsi, je cherche non seulement pour la modification de ce code mais aussi une explication raisonnable quant à la raison pour laquelle il existe une telle erreur.

x=[2,4,16]
y=[4,16,128]
for i in y:
    y[i]/x


6 commentaires

pour i in y Que pensez-vous i contient? (PS. Ses numéros non indexés)


En faisant pour i dans Y: vous êtes directement itération sur les éléments de y. Vous avez besoin énumérer pour votre but. Ou même mieux zip


Cette question a été précédemment marquée comme hors sujet. Je crois que c'est la même chose dans un autre nom.


Qu'est-ce qui ne va pas directement itération sur les éléments de y? je ne comprends pas


@Jack rien, jusqu'à ce que vous tapez ceci. y [i] . Pensez quelle valeur i a. Qu'est-ce que cela résolve?


Je connaît chaque élément de Y .... Il est résolu à 4, puis après une autre partie de la boucle de la boucle, elle est résolue à 16, puis après une autre course de la boucle, elle fait référence à 128


3 Réponses :


0
votes

Vous n'êtes pas itération de l'index, vous êtes itératant avec les valeurs xxx

si vous souhaitez itérer avec des index, vous pouvez le faire avec énumérer xxx < / pré>


1 commentaires

Vous devez utiliser valeur / x [index]



1
votes

Vérifiez les points suivants:

i: 0
4
i: 1
16
i: 2
128


3 commentaires

quelle est la signification de f in imprimé (f "i: {i}")


En outre, cela ne divise rien. Cela ne fait que rétablir tout de manière différente


Imprimer (F "I: {i}") est une fûte F. C'est un moyen de formater des déclarations d'impression. Et ce n'est pas divisant quoi que ce soit parce que je vous montre comment indexer correctement dans une liste.



1
votes

Je crois que ce dont vous avez besoin est de zip les deux listes, puis appliquez la division sur les valeurs d'itération données: xxx

qui donne:

0.5 0,25 0.125

Pour comprendre ce que zip fait: https://docs.python.org/3.3/Library/functions.html# Zip


0 commentaires