“要解包的值太多”,遍历dict.key=>string,value=>lis

2024-04-26 07:36:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我收到了'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              

Tags: tonamefieldsfoonames错误barmany
3条回答

对于Python 3.x,iteritems已被删除。改用items

for field, possible_values in fields.items():
    print(field, possible_values)

你想用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

Python2

你需要使用类似^{}的东西。

for field, possible_values in fields.iteritems():
    print field, possible_values

请参阅this answer以了解有关在python版本之间迭代字典(例如使用items())的更多信息。

Python3

因为Python 3iteritems()no longer supported。改用items()

for field, possible_values in fields.items():
    print(field, possible_values)

相关问题 更多 >