I want to append characters to a string, but want to make sure all the letters in the final list are unique.
The simplest solution is probably:
In : ''.join(set('aaabcabccd')) Out: 'acbd'
Note that this doesn't guarantee the order in which the letters appear in the output, even though the example might suggest otherwise.
You refer to the output as a "list". If a list is what you really want, replace
In : list(set('aaabcabccd')) Out: ['a', 'c', 'b', 'd']
As far as performance goes, worrying about it at this stage sounds like premature optimization.