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()

私のコードの結果はNoneとして出力されます...

私は何か間違ったことをしましたか?テキストファイル内の単語を並べ替えるための提案はありますか?

4

5 に答える 5

5

試す:

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

コードにはいくつかの問題があります。

  1. sort()ソートされたリストを返しません。リストをその場でソートし、 を返しますNone
  2. コードは各行の単語を並べ替えようとしますが、1 行に 1 つの単語しかありません。ファイル全体を一度に処理しようとはしません。
于 2012-12-18T13:09:58.750 に答える
1

sortリストをインプレース(ドキュメント)でソートし、その点を確認するために戻りますNone(副作用を忘れないように、副作用だけが得られます)。どちらかを使用

print sorted(fields2)

また

fields2.sort()
print fields2
于 2012-12-18T13:11:46.610 に答える
0

sortリストを返すのではなく、適切なsortedリストを返しsortます。

于 2012-12-18T13:08:48.940 に答える
0

これを試して:

for line in sorted(file('C://Users/Desktop/test_wordss.txt').read().split("\n")):
    print line
于 2012-12-18T13:10:05.927 に答える