kombinacje wielu zbiorów

0

Witam,
Na początku muszę uprzedzić że z programowania jestem zielony jak ogórek.
Potrzebuję pomocy przy rozwiązaniu poniższego problemu:
Jak powinien wyglądać algorytm zwracający wszystkie kombinacje liczb między wieloma zbiorami.

Przykład:
Zbiór 1 {0,1,2,3,4,5,6,7,8,9,10}
Zbiór 2 {0,1,2,3,4,5,6}
Zbiór 3 {0,1,2,...,100}

Problem będzie bardziej złożony, ponieważ mam około 600 zbiorów z różnymi przedziałami od 0 do 2000. Czyli każda kombinacja będzie miała 600 liczb, po jednej z każdego zbioru.

Z góry dziękuję za wszelką pomoc.

1

To nie są kobinacje tylko cartesian product.

import itertools

x = [1,2,3]
y = [4,5,6]
z = [7,8,9]
print(list(itertools.product(x,y,z)))

Daje nam:

[(1, 4, 7), (1, 4, 8), (1, 4, 9), (1, 5, 7), (1, 5, 8), (1, 5, 9), (1, 6, 7), (1, 6, 8), (1, 6, 9), (2, 4, 7), (2, 4, 8), (2, 4, 9), (2, 5, 7), (2, 5, 8), (2, 5, 9), (2, 6, 7), (2, 6, 8), (2, 6, 9), (3, 4, 7), (3, 4, 8), (3, 4, 9), (3, 5, 7), (3, 5, 8), (3, 5, 9), (3, 6, 7), (3, 6, 8), (3, 6, 9)]

Nie wiem w czym to chcesz pisać, ale w praktyce to się pisze zagnieżdżonymi petlami albo rekruencją.

0

Jest jeszcze inna technika. Piszesz skrypt, który generuje Ci skrypt/źródło programu, który rozwiązuje problem. W tym przypadku byłoby to wygenerowane 600 pętli. Ot, inna technika, czasem lepsza czasem nie mająca sensu.

0

Zdaje się że właśnie o to mi chodziło,
Wielkie dzięki za pomoc.

1 użytkowników online, w tym zalogowanych: 0, gości: 1