我正在尝试计算贝叶斯公式的垃圾邮件,但我收到此错误:
error TypeError: 'float' object is not callable
这是我的代码:
spamicities = sorted(
map(self.classify_word(body) ,re.sub("[^\w]", " ", body).split()),
key=lambda x: abs(x-0.5),
reverse=True)[:38]
答案 0 :(得分:0)
这是正确的代码:
spamicities = sorted(
map(lambda body: self.classify_word(body) ,re.sub("[^\w]", " ", body).split()),
key=lambda x: abs(x-0.5),
reverse=True
)[:38]
答案 1 :(得分:0)
尝试简化您的问题。看看
async#each
此行不起作用,因为map(self.classify_word(body) ,re.sub("[^\w]", " ", body).split())
被self.classify_word(body)
值替换,因此该行变为类似
Float
你需要一个callable作为第一个参数,所以将它包装在一个匿名函数中,如下所示:
map(5.0 ,re.sub("[^\w]", " ", body).split()) # wrong!