Создать словарь string->int, где ключ - элемент из списка, а значение - количество элементов. На основе него создать новый список, выбрав ключи с единичным значением.
UPD:
Andrey Druzhaev можно
from collections import Counter
names = ["a", "b", "c", "d", "a", "d", "d"]
print(list([k for k, v in Counter(names).items() if v == 1]))
UPD:
Andrey Druzhaev это уже глупый вопрос, т.к. это обычная фильтрация.
Можно так.
filter(lambda s: s != "Bill", namelist)
Или так
[x for x in namelist if x != "Bill"]
В Python 3 можно даже так:
filter('Bill'.__ne__, nameslist)
И ещё способ
while "Bill" in namelist: namelist.remove("Bill")
Открывайте любую книгу по питону и читайте. Там всё есть.