Bonjour,
En Python 3, avec IDLE, je tape les instructions suivantes :
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 tableau = [[0]*3]*2 buffer = [list(range(3)),list(range(5,8))] for i in range(2): for j in range(3): tableau[i][j] = buffer[i][j] print('buffer = ',buffer) print('tableau = ',tableau)
et je lis sur la console les lignes suivantes :
Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 >>> buffer = [[0, 1, 2], [5, 6, 7]] tableau = [[5, 6, 7], [5, 6, 7]]
…alors que je m'attendais à ce que "tableau" soit égal à "buffer".
Pourriez-vous SVP m'expliquer ? J'ai lu que l'on peut recopier des listes différemment mais j'ai besoin de comprendre ce problème pour savoir faire des modifications de listes...
Merci d'avance.
Partager