Your function is wrong, it is not changing the object pointed to by arg, it is assigning "arg" to a new object, leaving original unchanged.
Try this: >>> l = ["original value"] >>> def func(arg): ... arg.append("value added by func") ... >>> print l ['original value'] >>> func(l) >>> print l ['original value', 'value added by func'] >>>
>>> l = ["original value"] >>> def func(arg): ... arg.append("value added by func") ... >>> print l ['original value'] >>> func(l) >>> print l ['original value', 'value added by func'] >>>
More information about formatting options
Your function is wrong, it
Your function is wrong, it is not changing the object pointed to by arg, it is assigning "arg" to a new object, leaving original unchanged.
Try this:
>>> l = ["original value"]
>>> def func(arg):
... arg.append("value added by func")
...
>>> print l
['original value']
>>> func(l)
>>> print l
['original value', 'value added by func']
>>>