class Test(object):
def __init__(self):
self.data = []
@property
def alphabet(self):
if self.data:
upd = self.alphabetize(self.data)
else:
upd = []
return list(set(upd))
@alphabet.setter
def alphabet(self, value):
self.data += value
def alphabetize(self, data):
alph = []
for i in data:
alph += [j for j in i]
return list(set(alph))
a = Test()
a.data = ["fg"]
print (a.alphabet) # ['f', 'g']
a.alphabet += ["t"]
print (a.alphabet) # ['f', 'g', 't']
a.data = ["abc"] # over riding alphabet again
print (a.alphabet) # ['a', 'b', 'c']
Y2xhc3MgVGVzdChvYmplY3QpOgoKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICBzZWxmLmRhdGEgPSBbXQoKICAgIEBwcm9wZXJ0eQogICAgZGVmIGFscGhhYmV0KHNlbGYpOgogICAgICAgIGlmIHNlbGYuZGF0YToKICAgICAgICAgICAgdXBkID0gc2VsZi5hbHBoYWJldGl6ZShzZWxmLmRhdGEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgdXBkID0gW10KICAgICAgICByZXR1cm4gbGlzdChzZXQodXBkKSkKCiAgICBAYWxwaGFiZXQuc2V0dGVyCiAgICBkZWYgYWxwaGFiZXQoc2VsZiwgdmFsdWUpOgogICAgICAgIHNlbGYuZGF0YSArPSB2YWx1ZQoKICAgIGRlZiBhbHBoYWJldGl6ZShzZWxmLCBkYXRhKToKICAgICAgICBhbHBoID0gW10KICAgICAgICBmb3IgaSBpbiBkYXRhOgogICAgICAgICAgICBhbHBoICs9IFtqIGZvciBqIGluIGldCiAgICAgICAgcmV0dXJuIGxpc3Qoc2V0KGFscGgpKQoKYSA9IFRlc3QoKQphLmRhdGEgPSBbImZnIl0KcHJpbnQgKGEuYWxwaGFiZXQpICMgWydmJywgJ2cnXQoKYS5hbHBoYWJldCArPSBbInQiXQpwcmludCAoYS5hbHBoYWJldCkgIyBbJ2YnLCAnZycsICd0J10KCmEuZGF0YSA9IFsiYWJjIl0gICAjIG92ZXIgcmlkaW5nIGFscGhhYmV0IGFnYWluCnByaW50IChhLmFscGhhYmV0KSAjIFsnYScsICdiJywgJ2MnXQ==