gpt4 book ai didi

Python ValueError : too many values to unpack

转载 作者:IT老高 更新时间:2023-10-28 12:29:39 33 4
gpt4 key购买 nike

我从这段代码中得到了这个异常:

class Transaction:
def __init__ (self):
self.materials = {}

def add_material (self, m):
self.materials[m.type + m.purity] = m

def serialize (self):
ser_str = 'transaction_start\n'

for k, m in self.materials:
ser_str += m.serialize ()

sert += 'transaction_end\n'
return ser_str

for 行是引发异常的行。 mMaterial 对象。有人知道为什么吗?

最佳答案

self.materialsdict默认情况下,您只迭代键(它们是字符串)。

由于 self.materials 有两个以上的键 * ,它们不能被解压到 tuplek, m”,因此是 ValueError exception被提升了。

在 Python 2.x 中,为了迭代键和值(tuple "k, m"),我们使用 self.materials.iteritems() .

但是,既然您无论如何都要把 key 扔掉,那么您也可以简单地遍历字典的值:

for m in self.materials.itervalues():

在 Python 3.x 中,首选 dict.values() (返回 dictionary view object ):

for m in self.materials.values():

关于Python ValueError : too many values to unpack,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7053551/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com