コンコーダンスプログラムを作成する。Pythonどのような単語がある文章を印刷するには?
"こんにちは。私の名前はネイサンです。私はPythonの助けが必要です。私は非常に混乱しており、助けに感謝しています。"と私は言っています。
各単語がどの文章から来るのかを印刷します。私はすでにそれがとして表示されるので、それは、から来て、私は文番号(複数可)を必要とすることは、各単語が表示された合計回数をカウントすることを完了し、その隣にいる:「」と
a. word {word appearance count:sentence number}
リストの順序として機能します(番号付きリストのように、文字で)。あなたは完全な文章を見たとき、あなただけの'.'
に分割されている、あなたのコードで
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' –
ですこれは広範な質問です。完全に書き直すことなく答えるのは難しいです。私は答えが将来の世代にとって有益だとは思わない。質問をより細かいより小さなチャンクに分割し、[mcve]の作成方法を読んで、新しい質問をしてください。 –