Hello,
I'm new to python and I'm having difficulty understanding the following
code. Why doesn't the variable a contain  [[{}, {'x': 0}, {}], [{},
{'x': 1}, {}]] instead. Doesn't {} allocate new memory for the
dictionary each time? It almost appears as if the 2nd dictionary
created overwrites the first one. Thanks for your help,
Erik

>>>
>>> a = [[{}] *  3] * 2
>>> a
[[{}, {}, {}], [{}, {}, {}]]
>>> for i in range(2):
        a[i][1] = {'x':i}
>>> a
[[{}, {'x': 1}, {}], [{}, {'x': 1}, {}]]
>>>

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to