Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-20 19:23:30
original
907 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal