JObject
在上面给出的代码中,在else部分中,我需要headnode = k,并且在下一次迭代中,for循环需要取k的值。 例如:if,headers [headnode] = headers [0] == [5,3,1] 报头[5] == [4,1]
在第一次迭代中,将采用5,如果不满足if条件,则在else部分中,headnode的值变为5,对于第二次迭代,我需要标题[5]为拍摄。但这里需要下一个标题[0],即3,而不是4。
应该做些什么改变才能解决上述问题?
答案 0 :(得分:1)
headers [node]生成一个可迭代对象,它是静态的。在循环中,每次迭代都通过调用next()方法获得值。
答案 1 :(得分:0)
for循环在列表headers[headnode]
上保持itarating。因此,您无法通过重新初始化headnode
来更改itaration-list。从上面的描述中,下面的代码应该做你想要的。
closur=[]
i=6
dis_tn=distance[i]
headnode=x
dont_break = True
while dont_break:
dont_break = False
for k in headers[headnode]:
if distance[k]<=dis_tn:
if i in headers[k]:
closur.append(x)
closur.append(k)
closur.append(i)
else:
headnode=k
dont_break = True
break
print "Closure of (",x,",",i,")= ",closur