我是python(2.7)和stackoverflow的新手。我正在尝试学习如何使用“排序”功能。当我使用“排序”功能时,该句子会拆分为单个字母,并以升序对这些字母进行排序。但这不是我想要的。我想按升序对单词进行排序。我正在尝试运行此代码
peace = "This is one of the most useful sentences in the whole wide world."
def pinkan (one):
return sorted (one)
print pinkan (peace)
但是我得到的输出是这样的:
[' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'T', 'c', 'd',
'd', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'e', 'f', 'f'
, 'h', 'h', 'h', 'h', 'i', 'i', 'i', 'i', 'l', 'l', 'l', 'm', 'n', 'n', 'n',
'n', 'o', 'o', 'o', 'o', 'o', 'r', 's', 's', 's', 's', 's
', 's', 't', 't', 't', 't', 'u', 'u', 'w', 'w', 'w']
我们将不胜感激。谢谢:-)
答案 0 :(得分:1)
您应该首先使用split()
生成单词列表,然后使用sort()
对该列表进行升序排序:
peace = "This is one of the most useful sentences in the whole wide world."
terms = peace.split()
terms.sort(key=str.lower)
output = " ".join(terms)
print(output)
['in', 'is', 'most', 'of', 'one', 'sentences', 'the', 'the', 'This', 'useful',
'whole', 'wide', 'world.']