Υπάρχει ένας εύκολος τρόπος να ταξινομήσετε τα γράμματα μιας συμβολοσειράς αλφαβητικά στην Python;
Έτσι για:
a = 'ZENOVW'
Θα ήθελα να επιστρέψω:
'ENOVWZ'
>>> a = 'ZENOVW'
>>> b = sorted(a)
>>> print b
['E', 'N', 'O', 'V', 'W', 'Z']
Η sorted
επιστρέφει μια λίστα, οπότε μπορείτε να την κάνετε και πάλι συμβολοσειρά χρησιμοποιώντας την join
:
>>> c = ''.join(b)
η οποία ενώνει τα στοιχεία της b
μαζί με ένα κενό αλφαριθμητικό ''
ανάμεσα σε κάθε στοιχείο.
>>> print c
'ENOVWZ'
Η λύση Sorted() μπορεί να σας δώσει κάποια απροσδόκητα αποτελέσματα με άλλες συμβολοσειρές.
Λίστα άλλων λύσεων:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower())))
' belou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s)))
' Bbelou'
>>> s = "Bubble Bobble"
>>> ''.join(sorted(s))
' BBbbbbeellou'
Αν θέλετε να απαλλαγείτε από το κενό στο αποτέλεσμα, προσθέστε τη συνάρτηση strip() σε οποιαδήποτε από τις προαναφερθείσες περιπτώσεις:
>>> s = "Bubble Bobble"
>>> ''.join(sorted(set(s.lower()))).strip()
'belou'