Estou recebendo o 'too many values to unpack'
erro. Alguma idéia de como eu posso consertar isso?
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
Para Python 3.x
iteritems
foi removido. Use itens em seu lugar.fonte
Você deseja usar itens . Isso retorna um iterador sobre o dicionário, que fornece uma tupla (chave, valor)
Seu problema era que você estava fazendo um loop sobre os campos, que retornam as chaves do dicionário.
fonte
Para listas, use
enumerate
iteritems
não funcionará para objetos de listafonte
No Python3
iteritems()
não é mais suportadoSOLUÇÃO1 :
Usar
.items
SOLUÇÃO2 :
Você pode usar
enumerate()
tambémfonte
Não pode ser iterado diretamente no dicionário. Assim, você pode converter em tupla .
fonte
você está ausente
fields.iteritems()
no seu código.Você também pode fazer isso de outra maneira, onde obtém valores usando as chaves no dicionário.
fonte
fonte