erreur de valeur Python

Python ne déballe pas bien les sacs. Lorsque vous voyez l’erreur "valueerror : trop de valeurs à décompresser (attendu 2)", cela ne signifie pas que Python déballe une valise. Cela signifie que vous essayez d’accéder à trop de valeurs à partir d’un itérateur.

Dans ce guide, nous expliquons ce que signifie cette erreur et pourquoi elle est déclenchée. Nous parcourons un exemple d’extrait de code avec cette erreur afin que vous puissiez apprendre à la résoudre.

Le problème : valueerror : trop de valeurs à décompresser (attendu 2)

Une ValueError est déclenché lorsque vous essayez d’accéder à des informations à partir d’une valeur qui n’existe pas. Les valeurs peuvent être n’importe quel objet tel qu’une une liste, une chaaîne ou un dictionnaire.

Jetons un coup d’≈ìil à notre message d’erreur :

En Python, "décompresser‚" fait référence à la récupération d’éléments à partir d’une valeur. Par exemple, la récupération d’éléments d’une liste est appelée "déballage" cette liste. Vous affichez son contenu et accédez à chaque élément individuellement.

Le message d’erreur ci-dessus nous indique que nous essayons de décompresser trop de valeurs à partir d’une valeur.

Deux erreurs provoquent souvent cette erreur :

  • Lorsque vous essayez de parcourir un dictionnaire et décompressez ses clés et valeurs séparément.
  • Lorsque vous oubliez de décompresser chaque élément d’une liste dans une variable.

Nous examinons chacun de ces scénarios individuellement.

81% des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi technologique après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Essayons d’itérer sur un dictionnaire. Le dictionnaire sur lequel nous allons parcourir stockera des informations sur un élément du tableau périodique. Tout d’abord, définissons notre dictionnaire :

Notre dictionnaire a trois clés et trois valeurs. Les touches sont à gauche des deux points ; les valeurs sont à droite des deux points. Nous voulons imprimer à la fois les clés et les valeurs sur la console. Pour ce faire, nous utilisons une boucle for :

Dans cette boucle, nous décompressons "hydrogène‚" en deux valeurs : clé et valeur. Nous voulons des " clés " pour correspondre aux clés de notre dictionnaire et "valeur‚" pour correspondre aux valeurs.

Exécutons notre code et voyons ce qui se passe :

Notre code renvoie une erreur.

C’est parce que chaque élément du dictionnaire "hydrogène" est une valeur. Les clés et les valeurs ne sont pas deux valeurs distinctes dans le dictionnaire.

Nous résolvons cette erreur en utilisant une méthode appelée items(). Cette méthode analyse un dictionnaire et renvoie des clés et valeurs stockées sous forme de tuples. Ajoutons cette méthode à notre code :

Maintenant, essayons d’exécuter à nouveau notre code :

Nous avons ajouté la méthode items() jusqu’à la fin de "l’hydrogène". Cela renvoie notre dictionnaire avec des paires clé-valeur stockées sous forme de tuples. Nous pouvons le voir en imprimant le contenu de hydrogen.items() sur la console :

Notre code renvoie :

Chaque clé et valeur sont stockées dans leur propre tuple.

Une note pour Python 2.x

Dans Python 2.x, vous utilisez iteritems() à la place de items(). Cela permet d’obtenir le même résultat que nous avons obtenu dans l’exemple précédent. La méthode items() est toujours accessible dans Python 2.x.

Au-dessus, nous utilisez iteritems() au lieu de items(). Exécutons notre code :

Nos clés et valeurs sont extraites de l’élément "hydrogène‚" dictionnaire. Cela nous permet d’imprimer chaque clé et valeur sur la console individuellement.

Python 2.x commence à devenir obsolète. Il est préférable d’utiliser des méthodes plus modernes lorsqu’elles sont disponibles. Cela signifie que items() est généralement préféré à iteritems().

Exemple : Décompresser des valeurs dans une variable

Lorsque vous décompresser une liste dans une variable, le nombre de variables dans lesquelles vous décompressez les éléments de la liste doit être égal au nombre d’éléments de la liste. Sinon, une erreur est renvoyée.

Nous avons une liste de nombres à virgule flottante qui stocke les prix des beignets dans un magasin de beignets local :< /p>

Nous décomposons ces valeurs dans leurs propres variables. Chacune de ces valeurs correspond aux beignets suivants vendus par le magasin :

"Career Karma est entré dans ma vie quand j’en avais le plus besoin et m’a rapidement aidé à correspondre avec un bootcamp. Deux mois après avoir obtenu mon diplôme, j’ai trouvé l’emploi de mes rêves qui correspondait à mes valeurs et à mes objectifs dans la vie !"

Venus, ingénieur logiciel chez Rockbot

Nous décompressons notre liste en quatre variables. Cela nous permet de stocker chaque prix dans sa propre variable. Décompressons notre liste :

Ce code décompresse notre liste dans quatre variables. Chaque variable correspond à un donut différent. Nous affichons la valeur de "blueberry‚" sur la console pour vérifier si notre code fonctionne. Exécutez notre code et voyez ce qui se passe :

Nous essayons de décompresser quatre valeurs, notre liste contient cinq valeurs. Python ne sait pas quelles valeurs attribuer à nos variables car nous ne décompressons que quatre valeurs. Il en résulte une erreur.

La dernière valeur de notre liste est le prix du beignet au chocolat. Nous résolvons notre erreur en spécifiant une autre variable pour décompresser la liste :

Notre code renvoie : 2.1. Notre code décompresse avec succès les valeurs de notre liste.

Conclusion

La "erreur de valeur : trop de valeurs à décompresser (attendu 2)‚" une erreur se produit lorsque vous ne décompressez pas tous les éléments d’une liste.

Cette erreur est souvent causée par une tentative d’itération sur les éléments d’un dictionnaire. Pour résoudre ce problème, utilisez la méthode items() pour parcourir un dictionnaire.

Une autre cause courante est lorsque vous essayez de décompresser trop de valeurs dans des variables sans affecter suffisamment de variables.Vous résolvez ce problème en vous assurant du nombre de variables auxquelles une liste décompressé est égal au nombre d’éléments dans la liste.

Vous êtes maintenant prêt à résoudre cette erreur Python comme un ninja de codage !

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method