Jean_Francois Moulin wrote in news:[EMAIL PROTECTED] in comp.lang.python:
> Hi all, > > I tried this piece of code (FWIW, it was taken as is from a help > section of mpfit, a mathematical routine for least square fitting): > > parinfo = [{'value':0., 'fixed':0, 'limited':[0,0], > 'limits':[0.,0.]}]*6 parinfo[0]['fixed'] = 1 > parinfo[4]['limited'][0] = 1 > parinfo[4]['limits'][0] = 50. > > The first line builds a list of six dictionaries with initialised > keys. I expected that the last three lines would only affect the > corresponding keys of the corresponding dictionnary and that I would > end up with a fully initialised list where only the 'fixed' key of the > first dict would be 1, and the first values of limited and limits for > dict number 4 would be 1 and 50. respectively.... > > This is not so! > I end up with all dictionaries being identical and having their > 'fixed' key set to 1, and limited[0]==1 and limits[0]==50. > > I do not understand this behaviour... This should help: <url:http://www.python.org/doc/faq/programming/#how-do-i-create-a- multidimensional-list> As a TinyUrl: http://tinyurl.com/s8akj Rob. -- http://www.victim-prime.dsl.pipex.com/ -- http://mail.python.org/mailman/listinfo/python-list