案例:我需要确定三个对象组合是否满足规则。在Python中迭代可变数量的迭代件
为了简单起见,假设某个给定的序列是由发生器函数吐出的项目的任意组合,则该规则满足。生成器处理来自池中的物品将在其每个实例中弹出并且不总是产生相同的物品/订单,因此构建物品列表并使用诸如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
循环可能是解决这个问题的一个步骤,但是当我去试图找到一个有效的循环时,我的大脑就会崩溃。
有人能指出我正确的方向吗?
你只是在寻找'itertools.product',还是我在这里想念什么? – abarnert
似乎是这项工作的正确工具,当我在电脑前时,我会尝试一下。谢谢! – thismachinechills