Beim Iterieren über ein Wörterbuch ist es wichtig, sich der korrekten Syntax bewusst zu sein Methoden. Der Fehler „Zu viele Werte zum Entpacken“ tritt auf, wenn versucht wird, mehr Werte zu entpacken, als im Iterable verfügbar sind.
Im angegebenen Codeausschnitt:
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
Der Fehler tritt auf, weil Sie Ich versuche, zwei Werte (Feld und mögliche_Werte) aus einem einzelnen Tupel zu entpacken, das durch Iterieren über die Schlüssel des Wörterbuchs zurückgegeben wird. Um dies zu beheben, haben Sie abhängig von Ihrer Python-Version zwei Möglichkeiten:
Verwenden Sie in Python 3 die Methode items(), um sowohl die Schlüssel als auch die Werte des Wörterbuchs zu durchlaufen:
<code class="python">for field, possible_values in fields.items(): print(field, possible_values)</code>
Verwenden Sie in Python 2 die Methode iteritems() anstelle von items():
<code class="python">for field, possible_values in fields.iteritems(): print field, possible_values</code>
Sowohl items() als auch iteritems() Geben Sie eine Folge von Schlüssel-Wert-Paaren zurück, die ein ordnungsgemäßes Entpacken innerhalb der Schleife ermöglichen.
Alternativ können Sie, wenn Sie nur die Schlüssel oder Werte aus dem Wörterbuch benötigen, direkt darüber iterieren:
# Iterate over keys for field in fields.keys(): print(field) # Iterate over values for possible_values in fields.values(): print(possible_values)
Das obige ist der detaillierte Inhalt vonWie kann der Fehler „Zu viele Werte zum Entpacken' in der Python-Dict-Iteration behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!