私は現在、単語のインデックスを作成しようとしており、テキスト ファイルから各行を読み取り、単語がその行にあるかどうかを確認しています。そうであれば、数行を出力し、チェックを続けます。各単語と行番号を印刷するときに希望どおりに機能するようになりましたが、各番号を格納するためにどのストレージシステムを使用できるかわかりません.
コード例:
def index(filename, wordList):
'string, list(string) ==> string & int, returns an index of words with the line number\
each word occurs in'
indexDict = {}
res = []
infile = open(filename, 'r')
count = 0
line = infile.readline()
while line != '':
count += 1
for word in wordList:
if word in line:
#indexDict[word] = [count]
print(word, count)
line = infile.readline()
#return indexDict
これは単語とその時点でのカウント(行番号)が何であれ印刷しますが、私がやろうとしているのは、後で印刷できるように数字を保存することです
word linenumber
word2 linenumber, linenumber
等々。各キーに複数の値を含めることができるように、各行番号をリスト内に配置すると、辞書が機能すると感じましたが、最も近いものは次のとおりです。
{'mortal': [30], 'dying': [9], 'ghastly': [82], 'ghost': [9], 'raven': [120], 'evil': [106], 'demon': [122]}
次のように表示したいとき:
{'mortal': [30], 'dying': [9], 'ghastly': [82], 'ghost': [9], 'raven': [44, 53, 55, 64, 78, 97, 104, 111, 118, 120], 'evil': [99, 106], 'demon': [122]}
何か案は?