Pb de modification de liste dans une boucle for
Bonjour à tous !
débutant sous python, j'ai un problème bien étrange que je ne comprends pas ...
Je parcours une liste, pendant ce parcours, je créer un dictionnaire, pour creer une autre liste à partir de ce dictionnaire.
L'exemple est très simple, j'ai même initialisé ma 1ière liste en dur pour le test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
listMetasFound=["machin", "truc", "bidule", "chouette"]
dictSetMetadataGridField={}
listSetMetadataGridField=[]
for i_meta in range(len(listMetasFound)):
print "\nlistSet 2", listSetMetadataGridField
dictSetMetadataGridField["content"]=listMetasFound[i_meta]
print "\nlistSet 3", listSetMetadataGridField
print " \n ----------------- APPEND ------------------ \n"
listSetMetadataGridField.append(dictSetMetadataGridField)
print " \n*** End ***\n"
print listSetMetadataGridField |
Le problème, c que des que j'initialise dictSetMetadataGridField, le contenu de ma liste se modifie sans rien que je fasse. Et tous les élements de ma liste prennent la valeur du dictionnaire en cours ...
Voici ce que m'affiche la console :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
listSet 2 []
listSet 3 []
--------------- APPEND ---------------
listSet 2 [{"content":"machin"}]
listSet 3 [{"content":"truc"}]
voila deja ici c pas normal !!
--------------- APPEND ---------------
listSet 2 [{"content":"truc", "content":"truc"}]
listSet 3 [{"content":"bidule"}, {"content":"bidule"}]
Pareil !!
--------------- APPEND --------------- |
Je ne comprends vraiment pas, pouvez vous m'aider ??
Merci bien !
@+.