2012-07-12 38 views
10
x = 'yellow' 
print(sorted(x)) 

回报在Python中排序一个措辞字符串的字母?

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

我想它返回

ellowy

如何跑我让它返回'ellowy'没有字母列表是?

+0

谢谢导入每个人都很快回复。很有帮助。 – 2012-07-12 19:05:56

+3

虽然stackoverflow是一个很好的资源,请注意,你可以很容易地通过googleing“list to string python”得到你的答案。我100%肯定第一个结果将是正确的解决方案。我不是在责怪你,有时很难找到适合谷歌的条款,没有造成任何伤害,并且很高兴你能够学习到这一点! – Trufa 2012-07-12 19:10:38

回答

16

其实sorted()上的绳子总是返回时一个单独的字符列表。 所以你应该使用str.join()来制作一个字符串。

>>> x = 'yellow' 
>>> ''.join(sorted(x)) 
'ellowy' 
9
x = 'yellow' 
print(''.join(sorted(x))) 
+2

三个相同的(正确的)答案在同一时间..唯一的解决办法是upvote他们所有。 – zebediah49 2012-07-12 18:56:51

11

字符串的join()方法加入其与给定的字符串对象作为每个项之间的定界符的拷贝自变量的每个元素。很多人这个发现一个奇怪的和违反直觉的方式来做事,但如果用一个空字符串加入元素,你可以字符串列表转换成一个字符串:

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

哈哈..快3秒!! :) – 2012-07-12 18:55:04

4

如果你想为圭多到hate你,试试:

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

;-)

在Python 3,你需要从functools包

+0

哈哈 - downvote for?亵渎? :-) – 2012-07-12 19:04:43

+1

我没有downvote,但也许这是一个简单的问题过于复杂的解决方案? :)为“技术上正确 - 最好的一种正确的!” – Trufa 2012-07-12 19:06:22

+3

-0! – 2012-07-12 19:06:24

相关问题