Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann „Zu viele Werte zum Entpacken“ behoben werden, wenn über ein Wörterbuch mit Schlüsselwertlisten iteriert wird?

Wie kann „Zu viele Werte zum Entpacken“ behoben werden, wenn über ein Wörterbuch mit Schlüsselwertlisten iteriert wird?

Barbara Streisand
Barbara StreisandOriginal
2024-10-20 19:23:30730Durchsuche

How to Resolve

Zu viele Werte zum Entpacken: Iteration über ein Wörterbuch auflösen

Beim Iterieren über ein Wörterbuch mit Schlüssel-Wert-Paaren, wo sich die Werte befinden Bei Listen kann der Fehler „Zu viele Werte zum Entpacken“ auftreten, wenn Ihr Code versucht, sowohl den Schlüssel als auch den Wert gleichzeitig zu entpacken.

Betrachten Sie das folgende Beispiel:

<code class="python">first_names = ['foo', 'bar']
last_names = ['gravy', 'snowman']

fields = {
    'first_names': first_names,
    'last_name': last_names,
}        </code>

Beim Versuch um dieses Wörterbuch mit dem folgenden Code zu iterieren:

<code class="python">for field, possible_values in fields:  # error happens on this line</code>

Sie werden auf den Fehler „Zu viele Werte zum Entpacken“ stoßen, da die Iteration versucht, sowohl den Schlüssel (Feld) als auch den Wert (mögliche_Werte) von zu entpacken das Wörterbuch gleichzeitig. Um dieses Problem zu beheben, müssen Sie die entsprechende Methode zum Durchlaufen von Wörterbüchern verwenden.

Python 3

In Python 3 können Sie zum Durchlaufen die Methode items() verwenden über die Schlüssel-Wert-Paare des Wörterbuchs. Diese Methode gibt eine Liste von Tupeln zurück, wobei jedes Tupel den Schlüssel und den Wert des Wörterbuchs enthält:

<code class="python">for field, possible_values in fields.items():
    print(field, possible_values)</code>

Python 2

In Python 2 ist das möglich Verwenden Sie die Methode iteritems(), um die Schlüssel-Wert-Paare des Wörterbuchs zu durchlaufen. Diese Methode gibt einen Iterator von Tupeln zurück, wobei jedes Tupel den Schlüssel und den Wert des Wörterbuchs enthält:

<code class="python">for field, possible_values in fields.iteritems():
    print field, possible_values</code>

Zusätzliche Informationen

Umfassendere Informationen zum Iterieren durch Wörterbücher, einschließlich der Unterschiede zwischen iteritems() und items() in verschiedenen Python-Versionen, finden Sie in den folgenden Ressourcen:

  • [Looping-Techniken in Python](https://www.digitalocean.com/ community/tutorials/how-to-loop-through-dictionaries-in-python)
  • [Dictionary Iteration in Python](https://www.pythonforbeginners.com/basics/python-dictionary-iteration)
  • [Python 3 Dict iteritems() – Iteration über ein Wörterbuch](https://www.tutorialspoint.com/python/python_dictionary_iteritems.htm)

Das obige ist der detaillierte Inhalt vonWie kann „Zu viele Werte zum Entpacken“ behoben werden, wenn über ein Wörterbuch mit Schlüsselwertlisten iteriert wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn