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 :
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 ...
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 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
Voici ce que m'affiche la console :
Je ne comprends vraiment pas, pouvez vous m'aider ??
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
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 ---------------
Merci bien !
@+.
Partager