Python for循环迭代使用列表

时间:2015-05-05 08:20:22

标签: python list for-loop graph closures

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。

应该做些什么改变才能解决上述问题?

2 个答案:

答案 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