A question on modification of a list via a function invocation

Mok-Kong Shen mok-kong.shen at t-online.de
Mon Aug 14 14:21:55 EDT 2017


I ran the attached program and got the following output:

[1, 2, 3]
[3, 6, 9]

I don't understand why the modification doesn't work in the case of
test() but does work in the case of test1().

Thanks for your help in advance.

M. K. Shen

------------------------------------------------------------

def test(alist):
   alist=[3,6,9]
   return

def test1(alist):
   alist[0],alist[1],alist[2]=3,6,9
   return

ss=[1,2,3]
test(ss)
print(ss)
test1(ss)
print(ss)



More information about the Python-list mailing list