Случай: Мне нужно выяснить, будет ли три комбинации объектов удовлетворять правилу.Итерация по переменному числу итераций в 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