2013-03-13 51 views
0

我需要幫助,在這個問題中我創建了一個名爲index()的函數,該函數將文件作爲字符串和單詞列表。程序將找到每個單詞所在的數字行,並返回該單詞旁邊的數字行。返回單詞列表中的數字行嗎?

到目前爲止,我的代碼讀取爲:

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

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

我非常堅持在這裏,但我認爲你應該去搜索)readlines方法列表中的索引(。對於這個問題,我必須使用循環和格式。誰能幫我?

對於FYI回報率將是這樣的:

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

回答

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

這是你想要的嗎?

相關問題