def clean_up(l):
'''list of str -> list of str
The function takes as input a list of characters.
It returns a new list containing the same characters as l except that
one of each character that appears an odd number of times in l is removed
and all the * characters are removed
>>> clean_up(['A', '*', '$', 'C', '*', '*', 'P', 'E', 'D', 'D', '#', 'D', 'E', 'B', '$', '#'])
['#', '#', '$', '$', 'D', 'D', 'E', 'E']
>>> clean_up(['A', 'B', '*', 'C', '*', 'D', '*', '*', '*', 'E'])
[]