Je définis une matrice 2 * 2. Puis je change l'un des éléments. Et enfin je demande le contenu de la matrice.  
 
| Code : 
 a = [[1,2],[3,4]]a[1][1] = 5print(a)
 | 
 
Le résultat est celui que j'attends :  
 
[[1, 2], [3, 5]]
 
Maintenant je pars d'une matrice avec des valeurs nulles que je définis un peu différemment, je change également un élément et je demande le contenu de la matrice :  
 
| Code : 
 b = 2 * [2*[0]]print(b)
 | 
 
A ce niveau :  
[[0,0][0,0]]
 
Tout va bien
 
Je change la case (1,1) :
| Code : 
 b[1][1] = 1print(b)
 | 
 
Et la c'est la catastrophe, j'obtiens :
[[0, 1], [0, 1]]
 
Il me change toute la colonne et pas juste la case.
 
Quelle est la différence entre les deux situations et que faut il que je fasse pour que dans le deuxième cas il me change juste la case que je lui ai demandé ?
 
Message édité par epsiloneridani le 01-07-2023 à 17:20:11