【发布时间】:2017-05-07 04:52:33
【问题描述】:
制作索引程序。我想让它告诉我一个单词在什么句子中,所以如果我有:
“你好,世界。我的名字是 Nathan,我需要 Python 方面的帮助。我很困惑,感谢任何帮助。”
我希望它打印每个单词来自哪个句子。我已经完成了它计算每个单词出现的总次数,在它旁边我需要它来自的句子编号,所以它显示为:
a. word {word appearance count:sentence number}
带有“a”。作为列表顺序工作(像编号列表但带有字母)。第一句话的一个例子是
a. help {2:2,3}
这是我目前拥有的代码:
word_counter = {}
sent_num = {}
linenum = 0
wordnum = 0
counter = 0
#not working
for word in f.lower().split('.'):
if not word in sent_num:
sent_num[word] = []
sent_num[word].append(f.find(wordnum))
#working correctly
for word in f.lower().split():
if not word in word_counter:
word_counter[word] = []
#if the word isn't listed yet, adds it
word_counter[word].append(linenum)
for key in sorted(word_counter):
counter += 1
print (counter, key, len(word_counter[key]), len(sent_num[key]))
【问题讨论】:
-
linenum始终是0 -
这是一个广泛的问题,因为您的代码有很多问题。不完全重写就很难回答。我认为答案对后代没有用。将问题拆分为更小更具体的块,阅读有关如何创建minimal reproducible example 的信息,并可能提出一个新问题。