[newbie] A question about lists and strings
Roman Vashkevich
vashkevichrb at gmail.com
Fri Aug 10 05:28:57 EDT 2012
10.08.2012, в 13:19, Mok-Kong Shen написал(а):
>
> In an earlier question about lists, I was told about the issue of
> creation of local names in a function. However, I still can't
> understand why the program below outputs:
>
> [999] sss
> [999]
>
> and not two identical lines of output. For both operators "+=" should
> anyway work in similar manner in the function xx in my view.
>
> Thanks for your help in advance.
>
> M. K. Shen
>
> ----------------------------------------------------------
>
> def xx(list,str):
> list+=[999]
> str+="sss"
>
> lista=[]
> stra=""
> lista+=[999]
> stra+="sss"
> print(lista,stra)
>
> listb=[]
> strb=""
> xx(listb,strb)
> print(listb,strb)
> --
> http://mail.python.org/mailman/listinfo/python-list
It seems like your xx() function doesn't return local str parameter and prints the global empty str, whereas it mutates the global list.
Roman
More information about the Python-list
mailing list