我正在尝试创建一个程序,要求输入一个字符串,然后通过单词长度的新月顺序对其进行排序。例如:
my_string= Hi I am learning Python
结果应该是:
I Hi am Python learning.
注意:长度相同的单词顺序无关紧要。 到目前为止,这是我的代码!
s=raw_input('string:')
t=s.split()
print t
答案 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)