Je reçois l' 'too many values to unpack'
erreur. Une idée de comment résoudre ce problème?
first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']
fields = {
'first_names': first_names,
'last_name': last_names,
}
for field, possible_values in fields: # error happens on this line
Pour Python 3.x
iteritems
a été supprimé. Utilisez plutôt des objets .la source
Vous souhaitez utiliser des itérations . Cela renvoie un itérateur sur le dictionnaire, qui vous donne un tuple (clé, valeur)
Votre problème était que vous faisiez une boucle sur les champs, ce qui renvoie les clés du dictionnaire.
la source
Pour les listes, utilisez
enumerate
iteritems
ne fonctionnera pas pour les objets de listela source
En Python3
iteritems()
n'est plus pris en chargeSOLUTION1 :
Utilisation
.items
SOLUTION2 :
Vous pouvez utiliser
enumerate()
aussi bienla source
Impossible d'itérer directement dans le dictionnaire. Ainsi, vous pouvez le convertir en tuple .
la source
vous manquez
fields.iteritems()
dans votre code.Vous pouvez également le faire d'une autre manière, où vous obtenez des valeurs en utilisant des clés dans le dictionnaire.
la source
la source