self.materials
是一个dict
,默认情况下,您仅迭代键(字符串)。
由于self.materials
具有两个以上的键*,因此无法将它们解压到tuple
“k, m
”中,因此引发了异常。ValueError
在Python 2. x中 ,要遍历键和值(tuple
“k, m
”),我们使用self.materials.iteritems()
。
但是,由于无论如何都将键扔掉了,因此还可以简单地遍历字典的值:
for m in self.materials.itervalues():
在Python 3. x中 ,preferreddict.values()
(返回字典视图对象):
for m in self.materials.values():