Python-Wertfehler

Python packt Taschen nicht gut aus. Wenn der Fehler "valueerror: too many values ‚Äã‚Äãto entpack (erwartet 2)" angezeigt wird, bedeutet dies nicht, dass Python gerade einen Koffer auspackt. Dies bedeutet, dass Sie versuchen, auf zu viele Werte von einem Iterator zuzugreifen.

In diesem Handbuch sprechen wir daruber, was dieser Fehler bedeutet und warum er ausgelöst wird. Wir gehen ein Beispiel-Code-Snippet mit diesem Fehler durch, damit Sie lernen können, wie man es löst.

Das Problem: valueerror: zu viele Werte zum Entpacken (erwartet 2)

Ein ValueError ist ausgelöst, wenn Sie versuchen, auf Informationen von einem nicht vorhandenen Wert zuzugreifen. Werte können ein beliebiges Objekt sein, beispielsweise eine Liste, eine Zeichenfolge oder ein Wörterbuch.

Schauen wir uns an unsere Fehlermeldung:

In Python ist "Entpacken‚" bezieht sich auf das Abrufen von Elementen aus einem Wert. Das Abrufen von Elementen aus einer Liste wird beispielsweise als "Auspacken‚" diese Liste. Sie zeigen den Inhalt an und greifen einzeln auf jedes Element zu.

Die obige Fehlermeldung sagt uns, dass wir versuchen, zu viele Werte aus einem Wert zu entpacken.

Dieser Fehler wird häufig durch zwei Fehler verursacht:

Wir betrachten jedes dieser Szenarien einzeln.

81 % der Teilnehmer gaben an, dass sie sich nach dem Besuch eines Bootcamps hinsichtlich ihrer Berufsaussichten im Tech-Bereich sicherer fuhlten. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

Lassen Sie uns versuchen, es zu wiederholen uber ein Wörterbuch. Das Wörterbuch, uber das wir iterieren, speichert Informationen uber ein Element im Periodensystem. Zuerst definieren wir unser Wörterbuch:

Unser Wörterbuch hat drei Schlussel und drei Werte. Die Tasten befinden sich links von den Doppelpunkten; die Werte stehen rechts von den Doppelpunkten. Wir wollen sowohl die Schlussel als auch die Werte an die Konsole ausgeben. Dazu verwenden wir eine for-Schleife:

In dieser Schleife entpacken wir "Wasserstoff‚" in zwei Werte: Schlussel und Wert. Wir wollen "Schlussel‚" den Schlusseln in unserem W√∂rterbuch entsprechen und "Wert‚" den Werten entsprechen.

Lassen Sie unseren Code ausfuhren und sehen, was passiert:

Unser Code gibt einen Fehler zuruck.

Dies liegt daran, dass jedes Element im "Wasserstoff‚"-W√∂rterbuch ein Wert ist. Schlussel und Werte sind keine zwei separaten Werte im W√∂rterbuch.

Wir lösen diesen Fehler mit einer Methode namens items(). Diese Methode analysiert ein Wörterbuch und gibt Schlussel zuruck und Werte, die als Tupel gespeichert sind. Fugen Sie unserem Code diese Methode hinzu:

Jetzt versuchen Sie noch einmal, unseren Code auszufuhren:

Wir haben die Methode items() hinzugefugt bis zum Ende von "Wasserstoff‚". Dies gibt unser W√∂rterbuch mit Schlussel-Wert-Paaren zuruck, die als Tupel gespeichert sind. Wir k√∂nnen dies sehen, indem wir den Inhalt von hydrogen.items() in die Konsole ausgeben:

Unser Code gibt zuruck:

Jeder Schlussel und Wert werden in einem eigenen Tupel gespeichert.

Ein Hinweis zu Python 2.x

In Python 2.x, Sie verwenden iteritems() anstelle von items(). Dies erreicht das gleiche Ergebnis wie im vorherigen Beispiel. Auf die Methode items() kann in Python 2.x weiterhin zugegriffen werden.

Oben wir Verwenden Sie iteritems() anstelle von items(). Lassen Sie uns unseren Code ausfuhren:

Unsere Schlussel und Werte werden aus dem "Wasserstoff‚" W√∂rterbuch. Dadurch k√∂nnen wir jeden Schlussel und Wert einzeln auf der Konsole ausgeben.

Python 2.x wird langsam veraltet. Es ist am besten, modernere Methoden zu verwenden, wenn verfugbar. Dies bedeutet, dass items() im Allgemeinen iteritems() vorgezogen wird.

Beispiel: Werte in eine Variable entpacken

Wenn Sie eine Liste in eine Variable entpacken, muss die Anzahl der Variablen, in die Sie die Listenelemente entpacken, der Anzahl der Elemente in der Liste entsprechen. Andernfalls wird ein Fehler zuruckgegeben.

Wir haben eine Liste mit Gleitkommazahlen, in der die Preise von Donuts in einem lokalen Donut-Laden gespeichert sind:

Wir packen diese Werte in ihre eigenen Variablen. Jeder dieser Werte entspricht den folgenden Donuts, die vom Laden verkauft werden:

"Karma-Karma trat in mein Leben ein, als ich es am dringendsten brauchte, und half mir schnell dabei, zu passen mit einem Bootcamp. Zwei Monate nach meinem Abschluss habe ich meinen Traumjob gefunden, der meinen Werten und Lebenszielen entspricht!"

Venus, Software Engineer bei Rockbot

Wir entpacken unsere Liste in vier Variablen. Dadurch können wir jeden Preis in einer eigenen Variablen speichern. Entpacken wir unsere Liste:

Dieser Code entpackt unsere Liste in vier Variablen. Jede Variable entspricht einem anderen Donut. Wir geben den Wert von "blueberry‚" an die Konsole aus, um zu uberprufen, ob unser Code funktioniert. Fuhren Sie unseren Code aus und sehen Sie, was passiert:

Wir versuchen vier Werte zu entpacken, unsere Liste enthält funf Werte. Python weiß nicht, welche Werte unseren Variablen zugewiesen werden sollen, da wir nur vier Werte entpacken. Dies fuhrt zu einem Fehler.

Der letzte Wert in unserer Liste ist der Preis des Schokoladendonuts. Wir lösen unseren Fehler, indem wir eine andere Variable angeben, um die Liste zu entpacken:

Unser Code gibt zuruck: 2.1. Unser Code entpackt die Werte in unserer Liste erfolgreich.

Schlussfolgerung

Der "Wertfehler: zu viele Werte zum Entpacken (erwartet 2)‚" Fehler tritt auf, wenn Sie nicht alle Elemente in einer Liste entpacken.

Dieser Fehler wird häufig durch den Versuch verursacht, die Elemente in einem Wörterbuch zu durchlaufen. Um dieses Problem zu lösen, verwenden Sie die Methode items(), um uber ein Wörterbuch zu iterieren.

Eine weitere häufige Ursache ist, wenn Sie versuchen, zu viele Werte in Variablen zu entpacken, ohne genugend Variablen zuzuweisen. Sie lösen dieses Problem, indem Sie die Anzahl der Variablen sicherstellen, denen eine Liste entpackt entspricht der Anzahl der Elemente in der Liste.

Jetzt sind Sie bereit, diesen Python-Fehler wie einen codierenden Ninja zu beheben !

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