迭代字典時,必須了解正確的語法和方法。當嘗試解壓縮比可迭代中可用的值更多的值時,會出現錯誤「太多值無法解包」。
在給定的程式碼片段中:
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
發生錯誤是因為您嘗試從透過迭代字典的鍵傳回的單一元組中解壓縮兩個值(欄位和可能的值)。要解決此問題,您有兩個選擇,取決於您的Python 版本:
在Python 3 中,使用items() 方法迭代字典的鍵和值:
<code class="python">for field, possible_values in fields.items(): print(field, possible_values)</code>
在Python 2 中,使用iteritems() 方法而不是items():
<code class="python">for field, possible_values in fields.iteritems(): print field, possible_values</code>
items() 和iteritems()返回一系列鍵值對,允許在循環內進行正確的解包。
或者,如果您只需要字典中的鍵或值,則可以直接迭代它們:
# Iterate over keys for field in fields.keys(): print(field) # Iterate over values for possible_values in fields.values(): print(possible_values)
以上是如何解決 Python 字典迭代中的'Too Many Values to Unpack”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!