如何在Python中按字母顺序排序字符串中的字母
有没有简单的方法可以在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'