Возможно, использование встроенных функций Python более эффективно, чем те, которые "сделаны сами".Например:
=====================
ПРИМЕЧАНИЕ: поддерживать порядок
CODE
string = "aaabbbccc"
product = reduce((lambda x,y: x if (y in x) else x+y), string)
print product
ВЫХОД
abc
===============================
ПРИМЕЧАНИЕ: заказ игнорируется
КОД
string = "aaabssabcdsdwa"
str_uniq = ''.join(set(string))
print str_uniq
ВЫХОД
acbdsw