2012-07-12 41 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

相關問題