我有一个列表prova
。
每个列表都有几个元素(字典,字符串,列表)。
特别是我有一个这样的字典:
wordDict={'sky':0, 'blue':0,'water':0,...}
包含评论文档中的所有单词。
我想为每次审核填充wordDict
,我试着这样做:
for i in range(len(prova)):
for word in prova[i][4]:
prova[i][1][word] += 1
prova[i][4]
:是包含评论所有单词的列表的地方;
prova[i][1]
:是字典wordDict
的地方。
结果是它填充了每个wordDict
,但是包含了所有不同评论的所有字词,因此我的所有列表都包含相同的wordDict
。
而不是这一点,我希望每个评论的每个wordDic
t仅由该评论的单词填充,因此彼此不同。
答案 0 :(得分:1)
给出一个单词词典:
word_dict = {'sky': 0, 'blue': 0, 'water': 0}
给出一个评论列表:
reviews = [
"the sky is wet water is blue",
"ice blue silver sky fades into grey",
"take a look to the sky just before you die"
]
我们可能会将每个评论分成一个单词列表:
review_words = [r.split(' ') for r in reviews]
并计算每次审核相关单词的出现次数:
review_word_dicts = [{k: r.count(k) for k, v in word_dict.items()}
for r in review_words]
导致:
>>> review_word_dicts
[{'sky': 1, 'blue': 1, 'water': 1},
{'sky': 1, 'blue': 1, 'water': 0},
{'sky': 1, 'blue': 0, 'water': 0}]