我正在尝试创建单词索引,从文本文件中读取每行并检查该单词是否在该行中。如果是这样,它会打印出号码行并继续检查。在打印每个单词和行号时,我已经掌握了它的工作方式,但我不确定可以使用哪种存储系统来容纳每个数字。创建单词索引
代码示例:
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