如何解决此问题,代码给了我 ValueError:太多值无法解包(预期2)
from collections import OrderedDict
languages = OrderedDict()
languages['jen'] = 'python'
languages['sarah'] = 'c'
languages['edward'] = 'ruby'
languages['phil'] = 'python'
for name, language in languages:
print(name.title() + "'s favorite language is " +
language.title() + ".")
答案 0 :(得分:3)
odict_iterator
(在OrderedDict
循环中使用for
时得到的结果)仅产生其键,而不产生键/值对。使用items
方法获取这些内容:
for name, language in languages.items():
...
(对于任何类型的dict
都是正确的; dict
提供了dictkey_iterator
,但我想OrderedDict
拥有自己的原始密钥广告订单。)
(从Python 3.7开始,dictkey_iterator
也会 按插入顺序产生键,但是引入OrderedDict
时,这是定义上的区别。)