Maison  >  Article  >  développement back-end  >  Comment résoudre l'erreur « Trop de valeurs à décompresser » dans l'itération Python Dict ?

Comment résoudre l'erreur « Trop de valeurs à décompresser » dans l'itération Python Dict ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-20 19:28:30178parcourir

How to Resolve

Python : « Trop de valeurs à décompresser » pour l'itération de dict : compréhension et résolution

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 :

Python 3

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>

Python 2

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn