-1

これらのコードをアルファベット順に並べ替えようとしましたが、まだ機能していません。これはエラーメッセージです:

トレースバック (最新の呼び出しが最後): ファイル "D:\Eclipse Workspace\tugas1\src\h.py"、15 行目、set(l) 内の単語: TypeError: 'NoneType' object is not iterable

ここにコード:

from re import compile

l=compile("(\w[\w']*)").findall(open(raw_input('Input file: '),'r').read().lower()).sort()

f=open(raw_input('Output file: '),'w')

for word in set(l):

    print>>f, word, ':', '\t', l.count(word), 'kata'

f.close()
4

2 に答える 2

2

問題は、.sort(). リストをその場でソートして返すNoneので、それが代入の結果です。lは常にNone.。他のすべてのものの後に、ソートを個別に行います。

l=compile("(\w[\w']*)").findall(open(raw_input('Input file: '),'r').read().lower())
l.sort()

ところで、一度だけ使用する場合は、正規表現をコンパイルする必要はありません。ただし、そうしても害はありません。

于 2013-09-15T00:58:00.323 に答える