我是一個完整的 python 初學者,試圖通過 python 課程作業,但我被這個問題難住了:我只是回來了
{'python': [2], 'rules': [2]}
# (all words should be lowercase)
而不是整個集合,它應該是:
{'python': [0, 2],'time': [0, 1],'it': [1],'is': [1],'that': [1],'rules':[2]}
任何幫助,將不勝感激!
from collections import defaultdict
dataset = [
"Python time",
"It is that TIME",
"python rules"
]
index_dictionary = {}
def reverse_index(dataset):
for index in range(len(dataset)):
phrase = dataset[index]
words = phrase.lower()
wordlist = words.split()
for x in wordlist:
if x in index_dictionary.keys():
index_dictionary[x].append(index)
else:
index_dictionary[x] = [index]
return (index_dictionary)
print(reverse_index(dataset))
uj5u.com熱心網友回復:
您的代碼幾乎可以正常作業,您只是有一個小的縮進錯誤 - 您應該有一個嵌套for回圈,因為您希望為資料集中的每個句子更新單詞串列:
def reverse_index(dataset):
index_dictionary = {}
for index in range(len(dataset)):
phrase = dataset[index]
words = phrase.lower()
wordlist = words.split()
for x in wordlist:
if x in index_dictionary.keys():
index_dictionary[x].append(index)
else:
index_dictionary[x] = [index]
return (index_dictionary)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/347790.html
上一篇:撰寫此函式的正確方法是什么?
下一篇:在字典中搜索和替換部分匹配
