Problème Liste

Résolu
Bonjour,

J'ai un problème avec une liste de mon programme. Lorsqu'à la fin je demande de m'afficher la liste Vecteur(m,L) , la liste est juste mais lorsque je demande à avoir un élément de la liste il me sort une liste complètement aberrante. Quel est le problème ?

Merci pour vos réponses.

Configuration: Windows / Chrome 86.0.4240.198

2 réponses

  1. En fait ça a l'air de marcher lorsque je fais print(Vecteur(m,L) mais quand en dessous je demande print((Vecteur(m,L)[2] ) et bien ça ne me donne pas la liste qu'on peut apercevoir dans la liste de liste. En faisant print((Vecteur(m,L)[2] ) je suis censé avoir [6,2,0] et pas des nombres venant de je ne sais où. Il y a forcément une erreur mais je n'arrive pas à savoir où.

    L=[[1,0,0],[2,0,0],[3,1,0]]
    m=[2,1,2]
    
    def Vecteur(m,L):
        for k in range(len(L)):
            for i in range(len(L[0])):
                L[k][i]=L[k][i]*m[k]
        return L
            
    
    def CG(m,L):
        s=[0,0,0]
        M=0
        for k in range(len(m)):
            M+=m[k]
        for i in range(len(L[0])):
            for j in range(len(L)):
                s[i]+=(Vecteur(m,L)[j][i])
        return s
    
    
    print(Vecteur(m,L))
    print(CG(m,L))
    print(Vecteur(m,L)[2])
    1. Contributeur
      suggestion:
      import copy
      # ...
      ll=copy.deepcopy(Vecteur(m,L))
      print(ll)
      print(CG(m,L))
      print(ll[2])
    2. Contributeur
      @yg_beautre suggestion, si jamais je devine ce que tu souhaites obtenir:
      def Vecteur(m,M):
          L=len(M)*[len(M[0]) * [None]]
          for k in range(len(M)):
              for i in range(len(M[0])):
                  L[k][i]=M[k][i]*m[k]
          return L
    3. @yg_beCa a l'air de fonctionner merci.