我是一名Python新手,尝试使用特定单词的词典来获取在语料库(语料库)中出现的单词数。语料库是已被标记化,归一化,词形化和词干化的字符串类型。dict = {}dict ['words'] = ('believe', 'tried', 'trust', 'experience')counter=0Result = []for word in corpora: if word in dict.values(): counter = i + 1 else counter = 0此代码在dict.values()行上产生语法错误。任何帮助表示赞赏!
2 回答

偶然的你
TA贡献1841条经验 获得超3个赞
您有多个问题。您没有corpora在此处的示例中定义。您正在重新定义dict,这是内置类型。在else没有正确缩进。dict.values()返回一个可迭代的对象,每个对象都是一个元组;word如果word是字符串,则不会在其中。目前尚不清楚什么是counter重要的。ADN什么Results是做呢?
您的代码可能与此(伪)代码相似
d = {'words' : ('believe', 'tried', 'trust', 'experience')} #if that's really what you want
counter = {}
for word in corpora:
for tup in d.values(): # each tup is a tuple
if word in tup:
x = counter[word] if word in counter else 0
counter[word] = x+1
有更短的方法可以做到这一点。
这个计算事物的任务非常普遍,以至于在库中存在一个用于执行此任务的特定类collections.Counter。
添加回答
举报
0/150
提交
取消