Maison  >  Article  >  développement back-end  >  Comment résoudre « trop de valeurs à décompresser » lors d'une itération sur un dictionnaire avec des listes de valeurs-clés ?

Comment résoudre « trop de valeurs à décompresser » lors d'une itération sur un dictionnaire avec des listes de valeurs-clés ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 19:23:30731parcourir

How to Resolve

Trop de valeurs à décompresser : résolution d'une itération sur un dictionnaire

Lors d'une itération sur un dictionnaire avec des paires clé-valeur, où les valeurs sont listes, vous pouvez rencontrer l'erreur « trop de valeurs à décompresser » si votre code tente de décompresser à la fois la clé et la valeur simultanément.

Considérez l'exemple suivant :

<code class="python">first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
}        </code>

Lorsque vous essayez pour parcourir ce dictionnaire en utilisant le code suivant :

<code class="python">for field, possible_values in fields:  # error happens on this line</code>

Vous rencontrerez l'erreur "trop ​​de valeurs à décompresser" car l'itération tente de décompresser à la fois la clé (champ) et la valeur (possible_values) de le dictionnaire simultanément. Pour résoudre ce problème, vous devez utiliser la méthode appropriée pour parcourir les dictionnaires.

Python 3

Dans Python 3, vous pouvez utiliser la méthode items() pour itérer sur les paires clé-valeur du dictionnaire. Cette méthode renvoie une liste de tuples, où chaque tuple contient la clé et la valeur du dictionnaire :

<code class="python">for field, possible_values in fields.items():
    print(field, possible_values)</code>

Python 2

En Python 2, vous pouvez utilisez la méthode iteritems() pour parcourir les paires clé-valeur du dictionnaire. Cette méthode renvoie un itérateur de tuples, où chaque tuple contient la clé et la valeur du dictionnaire :

<code class="python">for field, possible_values in fields.iteritems():
    print field, possible_values</code>

Informations supplémentaires

Pour des informations plus complètes sur l'itération via des dictionnaires, y compris les différences entre iteritems() et items() dans les versions de Python, reportez-vous aux ressources suivantes :

  • [Techniques de bouclage en Python](https://www.digitalocean.com/ community/tutorials/how-to-loop-through-dictionaries-in-python)
  • [Itération de dictionnaire en Python](https://www.pythonforbeginners.com/basics/python-dictionary-iteration)
  • [Python 3 Dict iteritems() - itérer sur un dictionnaire](https://www.tutorialspoint.com/python/python_dictionary_iteritems.htm)

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