Bonjour à tous,
Je me suis aperçu que je ne manipulais sans doute pas correctement les listes d'objets.
Voilà mon problème (un peu simplifié mais représentatif) :
J'ai créé une classe Arc avec une fonction de classe Calcul(a) qui modifie les attributs de l'objet à partir du paramètre a.
Je crée une liste que je parcours ensuite pour la modifier.
list = [Arc()] * n où n entier
A une liste de même taille (d'entiers par exemple)
for i in range (n)
list[i].Calcul(A[i])
Au final, je me rends compte que tous les objets de ma liste sont identiques, égaux à la valeur calculée sur la dernière itération...
Il se trouve que la fonction Calcul s'applique à chaque fois à tous les éléments de ma liste et non seulement à celui que je pensais indiquer pourtant clairement par list[i]!
Pouvez-vous m'indiquer comment procéder? Est-ce ma fonction que j'ai mal écrite ou faut-il décrire ma liste autrement?
Merci d'avance!
Partager