I want to define a function that takes a list as an argument and removes all duplicates from the list except the last one.

For example:
`remove_duplicates([3,4,4,3,6,3])` should be `[4,6,3]`. The [other post](https://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-whilst-preserving-order) answers do not solve this one.

The function is removing each element if it exists later in the list.
This is my code:

```
def remove(y):
    for x in y:
        if y.count(x) > 1:
            y.remove(x)

    return y

```

and for this list:
`[1,2,1,2,1,2,3]` I am getting this output:
`[2,1,2,3]`. The real output should be `[1,2,3]`.
Where am I going wrong and how do I fix it?