Dictionary of lists strange behaviour

Ciccio franapoli at gmail.com
Tue Nov 9 09:14:11 EST 2010


Hi all,

hope you can help me understanding why the following happens:

In [213]: g = {'a': ['a1','a2'], 'b':['b1','b2']}
In [214]: rg = dict.fromkeys(g.keys(),[])
In [215]: rg
Out[215]: {'a': [], 'b': []}
In [216]: rg['a'].append('x')
In [217]: rg
Out[217]: {'a': ['x'], 'b': ['x']}

What I meant was appending 'x' to the list pointed by the key 'a' in the 
dictionary 'rg'. Why rg['b'] is written too?

Thanks.



More information about the Python-list mailing list