我有一个嵌套列表的列表。使用itertools,我基本上在做以下操作:
for result in product([A,B],[C,D],[E,F,G]): # 测试每个结果
结果是所需的乘积,每个结果都包含来自列表中的一个元素。我的代码逐个测试每个结果的元素,寻找第一个(也是最好的)“好”的结果。可能需要测试非常多的结果。
假设我正在测试第一个结果“ACE”。假设当我测试第二个元素“C”时,发现“ACE”是一个坏结果。没有必要测试“ACF”或“ACG”。我希望从失败的“ACE”直接跳到尝试“ADE”。有没有办法做到这一点而不仅仅是将不需要的结果丢弃?
如果我使用嵌套的for循环来实现这个功能,我将尝试在循环内部操纵for循环索引,这样做不太好...但我确实想跳过测试许多结果。我能否高效地在itertools中跳过前面的结果?