2017-04-18 2 views
1

première fois posant une question alors allez-y doucement sur moi.ValueError: pas assez de valeurs à décompresser (attendu 3, j'ai 2)

J'ai trouvé quelques ligne de code que je suis en train de me mettre en œuvre si je continue à travers cette erreur

ValueError: les valeurs ne suffisent pas à déballer (expected 3, a obtenu 2)

le code est le suivant :

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

Si vous pouvez me aider ce serait génial :)

Répondre

1

enumerate donne à votre un itérateur sur (index, value) tuples qui sont toujours de longueur deux.

Vous essayez de déballer chaque tuple deux valeurs en trois noms (i, feats, label) qui doit échouer en raison de la non-concordance des valeurs dans le tuple et le nombre de noms que vous essayez d'assigner.

1

Pour ajouter à la réponse de timgeb, la solution est de changer l'en-tête de votre boucle:

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