Lors de l'itération sur un dictionnaire, il est essentiel d'être conscient de la syntaxe correcte et méthodes. L'erreur « trop de valeurs à décompresser » se produit lorsque vous tentez de décompresser plus de valeurs que celles disponibles dans l'itérable.
Dans l'extrait de code donné :
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
L'erreur se produit parce que vous je tente de décompresser deux valeurs (field et possible_values) à partir d'un seul tuple renvoyé en itérant sur les clés du dictionnaire. Pour résoudre ce problème, vous disposez de deux options en fonction de votre version de Python :
Dans Python 3, utilisez la méthode items() pour parcourir à la fois les clés et les valeurs du dictionnaire :
<code class="python">for field, possible_values in fields.items(): print(field, possible_values)</code>
Dans Python 2, utilisez la méthode iteritems() au lieu de items() :
<code class="python">for field, possible_values in fields.iteritems(): print field, possible_values</code>
Les deux items() et iteritems() renvoie une séquence de paires clé-valeur, permettant un décompression appropriée dans la boucle.
Alternativement, si vous n'avez besoin que des clés ou des valeurs du dictionnaire, vous pouvez les parcourir directement :
# Iterate over keys for field in fields.keys(): print(field) # Iterate over values for possible_values in fields.values(): print(possible_values)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!