Bonjour,

Je cherche à comprendre l'affichage produit par ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
def image_print(image):
	for line in image:
		print line
 
# Partie 1
distance = [0]*10 
distance[1] = 7
image_print(distance)
 
# Partie 2
distance = [[0]*10]*10
distance[0][2] = 6
distance[1][2] = 1
image_print(distance)
Soit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
7
0
0
0
0
0
0
0
0
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
Dans la partie 1, les éléments de la liste semble indépendants : modifier un élément ne modifie pas les autres.

Dans la partie 2, les éléments semblent dépendants.

Je cherche à comprendre pourquoi et surtout comment construire correctement ma liste de listes pour m'en servir comme une matrice.

Merci d'avance pour vos lumières