0

ファイルを文字列と単語のリストとして受け取る index() という関数を作成する際の問題について助けが必要です。プログラムは、各単語が含まれる数行を見つけ、単語の隣に数行を返します。

これまでのところ、私のコードは次のようになります。

    f=open(file,'r')
    read = f.readlines()

    for word in lst:
        if word in range(len(read)):
            word[:]+1
    return read

私はここでかなり立ち往生していますが、readlines() のリストのインデックスを検索することになっていると思います。この問題については、for ループとフォーマットを使用する必要があります。誰でも私を助けることができますか?

参考までに、リターンは次のようになります。

index('raven.txt',['raven','mortal','dying','ghost','ghastly','evil','demon])

ghost     9
dying     9
demon     122
evil      99, 106
ghastly   82
mortal    30
raven     44, 53, 55, 64, 78, 97, 104, 111, 118, 120

また、私はpython 3を使用しています。

4

1 に答える 1

0
def index(file, wordList):
    word_dict = dict()
    for word in wordList:
        word_dict[word] = list()
    with open(file,'r') as f:
         for lineNum, lines in enumerate(f,1):
             for word in wordList:
                 if word in lines:
                     word_dict[word].append(lineNum)
    return word_dict

myWordDict = index('raven.txt',['raven','mortal','dying','ghost','ghastly','evil','demon'])

for items in myWordDict:
    print(items, ":", myWordDict[items])

これはあなたが望んでいたものですか?

于 2013-03-13T08:34:17.290 に答える