Initializing a list of lists

Ron Adam rrr at ronadam.com
Sun Mar 19 22:19:29 CET 2006


tkpmep at hotmail.com wrote:
> I want to create a list of lists, each of which is identical, but which
> can be modified independently i.e:
> 
>>>> x = [ [0], [0], [0] ]
>>>> x[0].append(1)
>>>> x
> [[0, 1], [0], [0]]
> 
> The above construct works if I have only few items, but if I have many,
> I'd prefer to write
>>>> N =3
>>>> x =N*[[0]]
>>>> x
> [[0], [0], [0]]
> 
> If I now try extending the lists indepently, I cannot, as they all
> point to the same list object
>>>> x[0].append(1)
>>>> x
> [[0, 1], [0, 1], [0, 1]]
> 
> Is there a simple way to create a list of independent lists?


Try this...

     x, y, value = 3, 3, 0
     L = [[value]*x for i in xrange(y)]


Cheers,
    Ron

















More information about the Python-list mailing list