Читая ваши комментарии, похоже, вам все равно, будут ли заменены все дубликаты. Таким образом, вы можете сделать это в одной строке со следующим:
a = ['b','c','d','b','b']
new_a = [item if len([c for c in a[:index+1] if c == item]) == 1 else "x" for index, item in enumerate(a)]
print(new_a)
['b','c','d','x','x']
Если вы действительно хотите обновить второй экземпляр, в одной строке также работает следующее:
a = ['b','c','d','b','b']
new_a = [item if len([c for c in a[:index+1] if c == item]) != 2 else "x" for index, item in enumerate(a)]
print(new_a)
['b','c','d','x','b']