'too many values to unpack', iterating over a dict. key=>string, value=>list
Python 3
for field, possible_values in fields.items(): print(field, possible_values)
Since Python 3 iteritems()
is no longer supported. Use items()
instead.
Python 2
You need to use something like iteritems
.
for field, possible_values in fields.iteritems(): print field, possible_values
See this answer for more information on iterating through dictionaries, such as using items()
, across python versions.
You want to use iteritems. This returns an iterator over the dictionary, which gives you a tuple(key, value)
>>> for field, values in fields.iteritems():... print field, values... first_names ['foo', 'bar']last_name ['gravy', 'snowman']
Your problem was that you were looping over fields, which returns the keys of the dictionary.
>>> for field in fields:... print field... first_nameslast_name