Gibt es eine einfache Möglichkeit, die Buchstaben in einer Zeichenfolge alphabetisch in Python zu sortieren?
Also für:
a = 'ZENOVW'
Ich möchte zurückkehren:
'ENOVWZ'
>>> a = 'ZENOVW'
>>> b = sorted(a)
>>> print b
['E', 'N', 'O', 'V', 'W', 'Z']
sorted
gibt eine Liste zurück, die man mit join
wieder zu einem String machen kann:
>>> c = ''.join(b)
der die Elemente von b
mit einer leeren Zeichenkette ''
zwischen den einzelnen Elementen zusammenfügt.
>>> print c
'ENOVWZ'
Sorted()-Lösung kann bei anderen Zeichenketten zu unerwarteten Ergebnissen führen.
Liste der anderen Lösungen:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower())))
' belou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s)))
' Bbelou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(s))
' BBbbbbeellou'
Wenn Sie das Leerzeichen im Ergebnis loswerden wollen, fügen Sie in jedem der genannten Fälle die Funktion strip() hinzu:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower()))).strip()
'belou'