To illustrate:

```
>>> n = [2,4,8,16,32]
>>> def double_list(x):
for i in range(0, len(x)):
x[i] = x[i] * 2
return x
>>> print (double_list(n))
[4, 8, 16, 32, 64]
>>> n
[4, 8, 16, 32, 64]
>>>
```

The print statement is printing the return value, the list from the function. Now when we inspect `n`

we see it too has been altered. Let’s see what happens when the return statement is removed.

```
>>> n = [2,4,8,16,32]
>>> def double_list(x):
for i in range(0, len(x)):
x[i] = x[i] * 2
>>> double_list(n)
>>> n
[4, 8, 16, 32, 64]
>>>
```

It’s early into the course so this concept may not yet have surfaced. Stick to the introductory path and set the concern aside, for the moment. The subject of reference objects will come up, very soon I suspect.

Bookmark this topic so you can come back when the following example has more meaning…

```
>>> n = [2,4,8,16,32]
>>> def double_list(x):
y = x[:]
for i in range(0, len(y)):
y[i] = y[i] * 2
return y
>>> print (double_list(n))
[4, 8, 16, 32, 64]
>>> n
[2, 4, 8, 16, 32]
>>>
```