python 循环跳过_如何在python中的for循环期间跳过下一个迭代?

我有以下代码,运行广度优先搜索(bfs)的图形顶点列表。

目前,我有对列表中的每一项运行bfs的代码,但我希望这样做,如果for循环中的下一项已经在发现的节点集中,那么for循环应该跳过它,这样就不必对每个顶点执行bfs。

我这样做的主要原因是因为我必须读入一个非常大的文件,所以当我在每个顶点上执行bfs时,它会导致内存崩溃;我的代码在小测试用例上工作,但在大文件上不工作。

我知道continue语句允许跳过当前迭代,但我不知道如何跳过下一个迭代。

感谢您的帮助。def count_components(g):

dictionary = {}

dict_list = {}

for i in g.vertices():

dictionary = breadth_first_search(g,i)

dictionary_keys = list(dictionary.keys())

dict_list[i] = dictionary_keys

for value in dict_list.values():

for i in range(len(value)):

value[i] = str(value[i])

result = {}

for key, value in dict_list.items():

dict_list[key].sort(key=str.lower)

if value not in result.values():

result[key] = value

count = len(result)

return count

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值