2012-12-18 81 views
3

在 「test_wordss.txt」如何對文本文件中的單詞進行排序?

A 
sentence 
is 
a 
grammatical 
unit 
consisting 
of 
one 
or 
more 
words 
A 

我的代碼:

for line2 in open('C://Users/Desktop/test_wordss.txt'): 
    fields2 = line2.rstrip('\n').split('\t') 
    print fields2.sort() 

結果從我的代碼出來的無...

難道我做錯了什麼? 對文本文件中的單詞進行排序的任何建議?

+0

[A有用鏈接](http://code.activestate.com/recipes/440612-sort-a-file/) –

回答

5

嘗試:

words = sorted(open('C://Users/Desktop/test_wordss.txt').read().split()) 
print(words) 

有幾個問題與您的代碼:

  1. sort()不返回排序列表。它對列表進行排序,並返回None
  2. 您的代碼嘗試對每行中的單詞進行排序,並且每行只有一個單詞。它不會嘗試一次處理整個文件。
+0

尼斯之一!很好的答案,解釋他的代碼有什麼問題。 – NlightNFotis

0

sort不返回一個sorted列表,它列表中的地方。

0

試試這個:

for line in sorted(file('C://Users/Desktop/test_wordss.txt').read().split("\n")): 
    print line 
1

sort排序列表就地(doc)並返回None,使該點(這樣你就不會忘記的副作用,你只能得到副作用)。要麼使用

print sorted(fields2) 

fields2.sort() 
print fields2 
+0

很好的回答!沒有任何解釋,它提供瞭解釋和幫助,而不需要提供太多的原始代碼。 – NlightNFotis

相關問題