Pojawia się 'too many values to unpack'
błąd. Masz pomysł, jak to naprawić?
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
Dla Python 3.x
iteritems
został usunięty. Zamiast tego używaj przedmiotów .źródło
Chcesz użyć iteritems . Zwraca iterator nad słownikiem, który daje krotkę (klucz, wartość)
Problem polegał na tym, że zapętlałeś pola, które zwracają klucze słownika.
źródło
W przypadku list użyj
enumerate
iteritems
nie będzie działać dla obiektów listyźródło
W Python3
iteritems()
nie jest już obsługiwanyROZWIĄZANIE 1 :
Posługiwać się
.items
ROZWIĄZANIE 2 :
Można użyć
enumerate()
takżeźródło
Nie można iterować bezpośrednio w słowniku. Możesz to zrobić poprzez konwersję na krotkę .
źródło
brakuje ci
fields.iteritems()
w kodzie.Możesz to również zrobić w inny sposób, uzyskując wartości za pomocą kluczy w słowniku.
źródło
źródło