我正在嘗試創建單詞索引,從文本文件中讀取每行並檢查該單詞是否在該行中。如果是這樣,它會打印出號碼行並繼續檢查。在打印每個單詞和行號時,我已經掌握了它的工作方式,但我不確定可以使用哪種存儲系統來容納每個數字。創建單詞索引
代碼示例:
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]}
任何想法?
您可能需要一個默認爲默認爲[]的新鍵,並追加。當然,您的註釋行只是每次重寫一個單項列表的密鑰。 – geoffspear 2013-03-10 21:16:16
對於每個回答的人,感謝您的意見。非常感謝。 – iKyriaki 2013-03-10 21:39:05