拆分字符串并按字长排序

时间:2016-03-12 20:46:16

标签: python string sorting

我正在尝试创建一个程序,要求输入一个字符串,然后通过单词长度的新月顺序对其进行排序。例如:

my_string= Hi I am learning Python

结果应该是:

I Hi am Python learning. 

注意:长度相同的单词顺序无关紧要。 到目前为止,这是我的代码!

s=raw_input('string:')
t=s.split()

print t

2 个答案:

答案 0 :(得分:2)

使用sorted功能按长度排序:

 >>> sorted("Hi I am learning python".split(), key=len)
 ['I', 'Hi', 'am', 'python', 'learning']

然后,您可以使用" ".join将其转换为字符串:

 >>> " ".join(sorted("Hi I am learning python".split(), key=len))
 I Hi am python learning

答案 1 :(得分:0)

再次拆分,排序和加入以获得预期结果。

my_string= 'Hi I am learning Python'
s = sorted(my_string.split(), key=lambda s: len(s))
print ' '.join(s)