这是我的代码
N = namedtuple("N", ['ind', 'set', 'v'])
def solve()
items=[]
stack=[]
R = set(range(0,8))
for i in range(0,8):
items.append(N(i,R,8))
stack.append(N(0,R-set(range(0,1)),i))
while(len(stack)>0):
node = stack.pop()
print node
print items[node.ind]
items[node.ind].v = node.v
在最后一行中,我无法将items[node.ind].v
值设置为所需的值node.v
,并且出现错误
"AttributeError: can't set attribute"
我不知道出什么问题了,但是它一定是基于语法的,因为使用语句node.v+=1
也显示相同的错误。我是Python的新手,所以请提出一种使上述更改成为可能的方法。
items[node.ind] = items[node.ind]._replace(v=node.v)
(注意:不要因为函数_replace中的下划线而使用此解决方案。特别是对于namedtuple,某些函数具有下划线,但这并不是要表明它们是“私有的”)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句