Dictionary of lists strange behaviour

Ciccio franapoli at gmail.com
Tue Nov 9 18:19:32 CET 2010


Il 09/11/2010 16:47, Terry Reedy ha scritto:
> On 11/9/2010 9:14 AM, Ciccio wrote:
>> 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(),[])
>
> If you rewrite this as
>
> bl = []
> rg = dict.fromkeys(g.keys(),bl)
>
> is the answer any more obvious?

It isn't since I erroneously assumed that a clone of the object would be 
made in both cases.

Thanks for your help



More information about the Python-list mailing list