【问题标题】:ValueError: not enough values to unpack (expected 3, got 2)ValueError:没有足够的值来解包(预期 3,得到 2)
【发布时间】:2017-09-14 07:53:31
【问题描述】:

第一次发布问题,所以请放轻松。

我在网上找到了一些我正在尝试自己实现的代码,尽管我一直遇到这个错误

ValueError: 没有足够的值来解包(预期 3,得到 2)

代码如下:

for i,feats,label in enumerate(testfeats):
        refsets[label].add(i)
        observed = classifier.classify(feats)
        testsets[observed].add(i)

如果你能帮助我,那就太好了:)

【问题讨论】:

    标签: python nltk sentiment-analysis


    【解决方案1】:

    要添加到 timgeb 的答案,解决方案是更改 for 循环的标题:

        for i, (feats, label) in enumerate(testfeats):
            ...
    

    等同于:

        for i, itemValue in enumerate(testfeats):
            feats, label = itemValue
            ...
    

    【讨论】:

      【解决方案2】:

      简单来说,enumerate() 只返回两个值,而您期望的是三个。 即预期 3,收到 2 :)

      【讨论】:

        【解决方案3】:

        enumerate 为您的 (index, value) 元组提供一个迭代器,这些元组的长度始终为 2。

        您正在尝试将每个二值元组解压缩为三个名称(ifeatslabel),由于元组中的值和您尝试分配的名称数量不匹配,这一定会失败.

        【讨论】:

          猜你喜欢
          • 2017-07-04
          • 2020-07-17
          • 2019-01-05
          • 2019-09-24
          • 1970-01-01
          • 1970-01-01
          • 2022-01-21
          • 1970-01-01
          • 2023-03-20
          相关资源
          最近更新 更多