第一次发帖提问我这么容易。
我在线发现了一些代码,我试图自己实现,但我一直遇到这个错误
ValueError:没有足够的值来解包(预期3,得到2)
代码如下:
for i,feats,label in enumerate(testfeats):
refsets[label].add(i)
observed = classifier.classify(feats)
testsets[observed].add(i)
如果你可以帮助我,这将是伟大的:)
答案 0 :(得分:3)
要添加到timgeb的答案,解决方案是更改for循环的标题:
for i, (feats, label) in enumerate(testfeats):
...
答案 1 :(得分:1)
enumerate
为(index, value)
元组提供了一个迭代器,它总是长度为2。
您正尝试将每个双值元组解压缩为三个名称(i
,feats
,label
),这些名称必须失败,因为元组中的值不匹配且数量不匹配你想要分配的名字。
答案 2 :(得分:0)
简单地说, enumerate() 仅返回两个值,而您期望的是三个。 即预期3,收到2:)