Я получаю 'too many values to unpack'
ошибку. Любая идея, как я могу это исправить?
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 3.x
iteritems
был удален. Используйте предметы вместо.источник
Вы хотите использовать iteritems . Это возвращает итератор по словарю, который дает вам кортеж (ключ, значение)
Ваша проблема заключалась в том, что вы перебирали поля, которые возвращали ключи словаря.
источник
Для списков используйте
enumerate
iteritems
не будет работать для объектов спискаисточник
В Python3
iteritems()
больше не поддерживаетсяРЕШЕНИЕ1 :
использование
.items
РЕШЕНИЕ2 :
Вы можете использовать ,
enumerate()
а такжеисточник
Нельзя повторять прямо в словаре. Таким образом, вы можете преобразовать в кортеж .
источник
вы отсутствуют
fields.iteritems()
в вашем коде.Вы также можете сделать это другим способом, где вы получаете значения, используя ключи в словаре.
источник
источник