首页 > 解决方案 > 在 Python 中循环 for 循环

问题描述

我有以下代码。

    for idx in range(len(networks)):
        net_ = networks[idx]
        lastId=0
        for layerUptID in range(len(net_[1])):
            retNet,lastId=cn_.UpdateTwoConvLayers(deepcopy(net_),lastId)
            networks.append(retNet)
            if(lastId==-1):
               break

networks一开始只有一张网。

运行线路后retNet,lastId=cn_.UpdateTwoConvLayers(deepcopy(net_),lastId),我有额外的六个网并附加到networks.

所以在这之后 lastId ==-1,回到first for loopwith len(networks) is 7

对于下一个idx, idx=1并继续。

然后,len(networks) 为 13。然后返回first for loop. 在此之后,第一个 for 循环中断。我期待继续idx is 2,但它打破了。

可能是什么问题?

标签: pythonpython-2.7

解决方案


如果您尝试使用 WHILE 循环而不是 FOR 循环,则 break 语句将检查循环是否位于“networks”集合中的最后一项上。这样,将在每次循环迭代中计算网络长度


推荐阅读