在Python中有没有一种简单的方法来按字母顺序对字符串中的字母进行排序?
因此,对于:
a = 'ZENOVW'
我想说的是:
'ENOVWZ'
发布于 2013-02-24 06:02:27
您可以执行以下操作:
>>> a = 'ZENOVW'
>>> ''.join(sorted(a))
'ENOVWZ'
发布于 2013-02-24 06:07:55
>>> a = 'ZENOVW'
>>> b = sorted(a)
>>> print b
['E', 'N', 'O', 'V', 'W', 'Z']
sorted
返回一个列表,因此您可以使用join
再次将其转换为字符串
>>> c = ''.join(b)
它将b
的项与每个项之间的空字符串''
连接在一起。
>>> print c
'ENOVWZ'
发布于 2015-10-18 02:48:43
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'
https://stackoverflow.com/questions/15046242
复制相似问题