Je suis Newbie en python et que mon problème est peut-être très simple.
J'ai créé une liste de 250 Zeros appelée x em>, Je souhaite enregistrer la sortie à la fin de chaque itération aux positions correspondantes du x. Par exemple, à la fin de la première itération, TEMP_X a deux valeurs, je veux les affecter aux premières positions de x. P> Ce que je fais mal? P> x = npl.zeros (250) Code>, et j'ai une boucle où j'effectue des calculs, à chaque itération, je produis deux x par exemple dans la première itération dans la première itération X [0] et x [1] et ainsi de suite dans une liste appelée TEMP_X. c'est-à-dire, le premier temp_x a le x [0] et x [1] p>
x[i, i+1] = x_temp
3 Réponses :
Cela devrait fonctionner juste bien
x [i] = x [i + 1] = x_temp code> p>
ValueError: régler un élément de tableau avec une séquence.
Apparemment numpy ne crée pas une liste, mais un objet numpy.ndarray code> avec
np.zeros () code> appel, je n'ai pas travaillé beaucoup, mais cela a toujours travaillé pour moi dans Reply
Comme mentionné dans la réponse de @ iamvisco, l'affectation chaînée fonctionnera.
Cependant, pour entrer dans la raison de votre code: P>
Lorsque vous tapez quelque chose comme Si vous voulez réellement accéder à deux (ou Plus) Éléments de cette façon, vos indices doivent être sous une forme d'un x [i, I + 1] code>, Python comprend la valeur sur les crochets sous forme de
tuple code>, et tente donc d'exécuter
x [(i, i + 1)] code >, qui accède à l'élément à la ligne
i code> et colonne
i + 1 code>. Comme il n'y a pas d'élément de ce type (
x code> est un tableau 1D), il échoue avec l'erreur "trop d'indices pour tableau". P>
np.ndarray code> (une liste
code> fonctionnerait aussi): p>
Il n'a même pas besoin d'une matrice numpopique, juste une liste. x [[0, 1]] = 2 code> fonctionnera également.
Je ne suis pas sûr que la réponse d'IAMVisco fera ce qui est requis, il sera plutôt défini à la fois les deux éléments de x à la liste X_TEMP.
Ce que je pense avoir besoin à la place est: p>
x[i], x[i+1] = x_temp