案例:我需要找出三个对象组合是否满足一个规则。
为简单起见,假设给定序列是由生成器函数吐出的项目的任意组合,则满足规则。生成器处理池中的哪些项目将在其每个实例中弹出,并且不会总是产生相同的项目/订单,因此构建项目列表并使用类似itertools.combinations
生成组合的东西是行不通的。
现在我有一个相当于:
def is_match_found(sequence):
items1 = items_generator()
for item1 in items1:
items2 = items_generator()
for item2 in items2:
items3 = items_generator()
for item3 in items3:
if sequence in [item1, item2, item3]:
return True
return False
但我预见到未来我需要查看n
生成器吐出的对象组合是否满足规则。
我觉得一个带有n
实现递归for
循环的参数的函数可能是解决这个问题的一步,但是当我试图纠正一个有效的问题时,我的大脑会崩溃。
有人可以指出我正确的方向吗?