Existe uma maneira fácil de ordenar as letras em ordem alfabética em Python?
Por isso:
a = 'ZENOVW'
Eu gostaria de voltar:
'ENOVWZ'
>>> a = 'ZENOVW'
>>> b = sorted(a)
>>> print b
['E', 'N', 'O', 'V', 'W', 'Z']
sorted
retorna uma lista, então você pode fazer uma string novamente utilizando join
:
>>> c = ''.join(b)
que junta os itens de b' com uma string vazia
''` entre cada item.
>>> print c
'ENOVWZ'
A solução classificada() pode dar-lhe alguns resultados inesperados com outras cordas.
Lista de outras soluções:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower())))
' belou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s)))
' Bbelou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(s))
' BBbbbbeellou'
Se você quiser se livrar do espaço no resultado, adicione a função strip() em qualquer um dos casos mencionados:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower()))).strip()
'belou'