在Python中对一个措辞字符串的字母进行排序?

时间:2012-07-12 18:53:47

标签: python string sorting

x = 'yellow'
print(sorted(x))

返回

['e', 'l', 'l', 'o', 'w', 'y']

我希望它返回

ellowy

如果没有列表中的字母,我如何让它返回'ellowy'

4 个答案:

答案 0 :(得分:16)

实际上sorted()在字符串上使用时总是会返回单个字符的列表。 所以你应该使用str.join()从该列表中创建一个字符串。

>>> x = 'yellow'
>>> ''.join(sorted(x))
'ellowy'

答案 1 :(得分:11)

字符串的join()方法将其参数的每个元素与给定字符串对象的副本连接,作为每个项目之间的分隔符。许多人发现这是一种奇怪且违反直觉的做法,但是通过使用空字符串连接元素,您可以将字符串列表转换为单个字符串:

x = 'yellow' 
print(''.join(sorted(x)))

答案 2 :(得分:9)

x = 'yellow' 
print(''.join(sorted(x)))

答案 3 :(得分:4)

如果你想要Guido到hate,请尝试:

reduce(lambda l,r: l+r, sorted(x))

- )

在python 3中,你需要从functools包中导入它