我有一个列表列表。使用itertools,我基本上是在做
for result in product([A,B],[C,D],[E,F,G]): # 测试每个结果
结果是所需的产品,每个结果都包含每个列表中的一个元素。我的代码逐个元素地测试每个结果,寻找第一个(也是最好的)“好”的结果。可能有非常非常大的数量需要测试。
假设我正在测试第一个结果“ACE”。假设当我测试第二个元素“C”时,我发现“ACE”的结果很糟糕。无需测试“ACF”或“ACG”。我想直接从失败的 ACE 跳到尝试 ADE。无论如何要做到这一点而不只是把不需要的结果扔到地板上?
如果我使用嵌套的 for 循环来实现这一点,我会尝试在循环内操纵 for 循环索引,这不是很好……但我确实想跳过测试很多结果。我可以在 itertools 中有效地跳过吗?