I have tried the following three variations. Each one only returns a list containing the first even number in the original list. For example, `purify([4, 5, 5, 4])`

returns `[4]`

instead of `[4, 4]`

. I suspect there is some issue with the numbers “moving” in the original list as it loops, which messes up the indexes for loop. But I don’t understand what’s causing this or how to prevent it. A fast answer would be appreciated! I’m not letting myself eat until I complete this exercise

Variation 1:

```
def purify(makeeven):
for number in makeeven:
even = []
if number % 2 != 0:
makeeven.remove(number)
else:
even.append(number)
return even
```

Variation 2:

```
def purify(makeeven):
for number in makeeven:
even = []
if number % 2 == 0:
even.append(number)
return even
```

Variation 3:

```
def purify(makeeven):
for number in makeeven:
even = []
even.append(number)
if number % 2 != 0:
even.remove(number)
return even
```