Is er een gemakkelijke manier om de letters in een string alfabetisch te sorteren in Python?
Dus voor:
a = 'ZENOVW'
Ik wil graag terug:
'ENOVWZ'
>>> a = 'ZENOVW'
>>> b = sorted(a)
>>> print b
['E', 'N', 'O', 'V', 'W', 'Z']
sorted
geeft een lijst terug, zodat je er met join
weer een string van kunt maken:
>>> c = ''.join(b)
die de items van b
samenvoegt met een lege string ''
tussen elk item.
>>> print c
'ENOVWZ'
Sorted() oplossing kan onverwachte resultaten geven met andere strings.
Lijst van andere oplossingen:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower())))
' belou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s)))
' Bbelou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(s))
' BBbbbbeellou'
Als je de spaties in het resultaat wilt wegwerken, voeg dan strip() functie toe in elk van de genoemde gevallen:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower()))).strip()
'belou'