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

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

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

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

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

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