```
def m(v):
return 2*v*2
my=[0,1,2,10,100]
print (m(my))
```

# Why is that duplicating instead of multiplication?

**wizmarco**#2

Hi I think taht it's because **v** which is the *parameter* is equale to the *argument* **[0,1,2,10,100]** so inside the function it's like that

`return 2*[0,1,2,10,100]*2`

SO it right that it give you .. Because it make the multiplication of the **[0,1,2,10,100]**

`[0, 1, 2, 10, 100, 0, 1, 2, 10, 100, 0, 1, 2, 10, 100, 0, 1, 2, 10, 100]`

so if you want it do the multiplication try it like that

```
def m(v):
return 2*v*2
print (m(8))
#Output
32
```

**simanii**#3

Thanks,

But you suppose that I want to use multiplication for a list like above. In this why how can I multiply list by 2 or 4?

**wizmarco**#4

you can do it with a **for loop** like that

```
my=[0,1,2,10,100]
for num in my:
print(num * 2)
#Output
0
2
4
20
200
```

**system**#6

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.