A difficulty with lists

MRAB python at mrabarnett.plus.com
Mon Aug 6 16:19:01 EDT 2012


On 06/08/2012 20:50, Mok-Kong Shen wrote:
> I ran the following code:
>> def xx(nlist):
> print("begin: ",nlist)
> nlist+=[999]
> print("middle:",nlist)
> nlist=nlist[:-1]
> print("final: ",nlist)
>> u=[1,2,3,4]
> print(u)
> xx(u)
> print(u)
>> and obtained the following result:
>> [1, 2, 3, 4]
> begin: [1, 2, 3, 4]
> middle: [1, 2, 3, 4, 999]
> final: [1, 2, 3, 4]
> [1, 2, 3, 4, 999]
>> As beginner I couldn't understand why the last line wasn't [1, 2, 3, 4].
> Could someone kindly help?
>This:
 nlist+=[999]
appends to the list, making it [1, 2, 3, 4, 999].
This:
 nlist=nlist[:-1]
gets a slice of the list and then binds it to the local name 'nlist'.


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /