Gareth Rees added the comment:
The behaviour of the * operator (and the associated gotcha) is documented under
"Common sequence operations" [1]:
Note that items in the sequence s are not copied; they are referenced
multiple times. This often haunts new Python
Dmitry Kazakov added the comment:
This is not a bug in Python. Refer to this page for the explanation:
https://stackoverflow.com/questions/240178/list-of-lists-changes-reflected-across-sublists-unexpectedly
Basically, [{}]*3 creates a list with three references to the
New submission from Joona Mörsky :
When creating list of dictionaries and updating datetime objects one by one,
all values are set to last one of the list.
Ubuntu Linux 4.10.0-40-generic #44~16.04.1-Ubuntu SMP Thu Nov 9 15:37:44 UTC
2017 x86_64 x86_64 x86_64 GNU/Linux