如何在Python中按字母顺序排序字符串中的字母

226 投票
7 回答
475614 浏览
提问于 2025-04-17 16:54

有没有简单的方法可以在Python中按字母顺序对字符串中的字母进行排序呢?

比如说,对于:

a = 'ZENOVW'

我想要返回:

'ENOVWZ'

7 个回答

41

使用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'
114
>>> a = 'ZENOVW'
>>> b = sorted(a)
>>> print(b)
['E', 'N', 'O', 'V', 'W', 'Z']

sorted会返回一个列表,所以你可以用join把它再变成字符串:

>>> c = ''.join(b)

这个方法会把b里的每个项目用一个空字符串''连接起来,也就是说它们之间没有任何东西。

>>> print(c)
'ENOVWZ'
381

你可以这样做:

>>> a = 'ZENOVW'
>>> ''.join(sorted(a))
'ENOVWZ'

撰写回答