天使与魔鬼 发表于 2018-9-19 15:47:27

'too many values to unpack' error

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   
有人知道如何解决这个问题吗?

令狐少侠 发表于 2018-9-19 15:49:48

你需要使用像iteritems这样的东西。
for field, possible_values in fields.iteritems():
    print field, possible_values
有关迭代字典的更多信息,请参阅此答案,例如items()跨python版本使用。
自Python 3以来,不再支持 iteritems()。请改用items()。
for field, possible_values in fields.items():
    print(field, possible_values)

此间少年 发表于 2018-9-19 15:50:34

python 3.x iteritems已被删除。请改用items。
for field, possible_values in fields.items():
    print(field, possible_values)

德国骨科 发表于 2018-9-19 15:51:28

你想使用iteritems。这会在字典上返回一个迭代器,它会为你提供一个元组(键,值)
>>> for field, values in fields.iteritems():
...   print field, values
...
first_names ['foo', 'bar']
last_name ['gravy', 'snowman']

你的问题是你在字段上循环,它返回字典的键。
>>> for field in fields:
...   print field
...
first_names
last_name

www呵呵 发表于 2018-10-10 08:13:24

楼上说的对!
页: [1]
查看完整版本: 'too many values to unpack' error