Bonjour,
j'ai un paramètre de départ : taille qui peut valoir 2,3 ou 4.
je souhaite initialiser un dictionnaire où les clefs sont les entiers de 0 à 4 pour valeurs associées [1,2,...,taille**2]
Puis je vais être amener à supprimer des éléments des valeurs.
taille=3
valeurs=[]
for k in range(taille**2):
valeurs.append(k+1)
dico={}
for i in range(5):
dico[i]=valeurs
et si je fais
dico[1].remove(2)
le 2 est supprimé pour toutes les clefs.
Ce doit être une subtilité de la programmation objet, valeurs pointe vers une référence et lorsque je modifie dans une clef, ça modifie les autres. Comment y remédier ? Je pourrais imbriquer la boucle k dans la boucle i mais je ne trouve pas cela économe (mais ça fait ce que je veux!)
D'avance merci.
SB
Partager