assignment with [:]

Ben Bush nebson at gmail.com
Sun Dec 28 05:53:57 CET 2008


Hi,

I saw this line of code on a recent post:

a1[:] = [x*3 for x in a1]

Could somebody tells me what the [:] means? I can't find it anywhere.
See context below if needed:

On Dec 26, 4:46 pm, Tim Chase <python.l... at tim.thechases.com> wrote:
> > What does *not* work is
> >         3 * [0,1,2]
> > As you know, this gives
> >         [0,1,2,0,1,2,0,1,2]
> > What I am hoping for is
> >         [0,3,6]
> > I see that I can use
> >         numpy.multiply(3,range(3))
> > but this seems overkill to me.  Can you tell I am coming to Python from
> > Matlab?
>
> The common way to do this is just
>
>   a1 = [0,1,2]
>   a2 = [x * 3 for x in a1]
>
> or, if you need a1 to be done in place:
>
>   a1[:] = [x*3 for x in a1]
>
> -tkc





More information about the Python-list mailing list