texts = ['hocus pocus',  'bibbidi bobbidi boo', 'alakazam',
         'presto chango', 'abracadabra', 'joshikazam', 'sim sala bim']

#print(sorted(texts))

def distinct(text):
    return len(set(text))

for text in texts:
    print(distinct(text), text)

L = [(distinct(text), text) for text in texts]
print(L)
L_sorted = sorted(L)
print(L_sorted)
#print(distinct(texts[0]))
L_ = [text for (d, text) in L_sorted]

print('Løsning 1')
print(L_)

print('Løsning 2')
L_ = [text for (d, text) in sorted([(distinct(text), text) for text in texts])]
print(L_)

print('Løsning 3')
L_ = sorted(texts, key=distinct)
print(L_)

print('Løsning 4')
L_ = sorted(texts, key=lambda text: len(set(text)))
print(L_)
