The operator % returns an integer value not a boolean, so when the return value is 0 it skips the statement.
Also you are modifiying the list you are iterating over, not good...
Try this:
def purify (lst):
retLst = []
for key in lst:
if key % 2 == 0:
lst.append(key)
return retLst
Should work.