Bonjour,

Je ne comprends pas le résultat de mon REMOVE.
Je construis un tableau 9x9 avec 9 possibilités de chiffres à mettre dans chaque case (vous voyez où je veux en venir, je générais mes Sudokus jusque là en VBA, là j'essaie sous Python).
Je testais le fait de retirer un chiffre d'une liste précisée par son double index, et je me retrouve à avoir cet élément retiré partout.
J'ai simplifié mon code pour avoir un tableau généré 3x3 avec 3 possibilités (c'est le tableau "grille") pour comparer avec un tableau écrit en dur (c'est le tableau "matrice"), avec la même syntaxe concernant le REMOVE.

poss=[]
for pos in range(3):
poss.append(pos+1)
print(poss)
ligne = []
for pos in range (3):
ligne.append(poss)
grille = []
for pos in range (3):
grille.append(ligne)
print(grille)
grille[1][1].remove(3)
print(grille)

matrice = [[[1,2,3],[1,2,3],[1,2,3]],[[1,2,3],[1,2,3],[1,2,3]],[[1,2,3],[1,2,3],[1,2,3]]]
print(matrice)
matrice[1][1].remove(3)
print(matrice)

Les "print" me donnent:
poss =[1, 2, 3]
grille avant suppression = [[[1, 2, 3], [1, 2, 3], [1, 2, 3]], [[1, 2, 3], [1, 2, 3], [1, 2, 3]], [[1, 2, 3], [1, 2, 3], [1, 2, 3]]]
grille après suppression = [[[1, 2], [1, 2], [1, 2]], [[1, 2], [1, 2], [1, 2]], [[1, 2], [1, 2], [1, 2]]]
matrice avant suppression = [[[1, 2, 3], [1, 2, 3], [1, 2, 3]], [[1, 2, 3], [1, 2, 3], [1, 2, 3]], [[1, 2, 3], [1, 2, 3], [1, 2, 3]]]
matrice après suppression = [[[1, 2, 3], [1, 2, 3], [1, 2, 3]], [[1, 2, 3], [1, 2], [1, 2, 3]], [[1, 2, 3], [1, 2, 3], [1, 2, 3]]]

Pourquoi pour "grille" la commande grille[1][1].remove(3) me supprime des 3 partout, alors que matrice[1][1].remove(3) enlève bien le 3 à la position définie (ce que je souhaite) ?

Merci d'avance pour tout retour.