J'ai un sous-ensemble de ℕ 5 , vecteurs à cinq dimensions dont les éléments se situent dans les nombres naturels. Ce sous-ensemble est défini comme le produit des intervalles [ a 1 , a 2 ]×[ b 1 , b 2 ]×...×[ f 1 , f 2 ], et je voudrais énumérer les sous-ensembles de taille 1, c'est-à-dire les vecteurs ( x 1 , x 2 , x 3 , x 4 , x 5 ) où x 1 est en [ a 1 , a 2 ], x 2 est en [ b 1 , b 2 etc. Quelle est la meilleure façon de procéder ?
Réponse
Trop de publicités?C'est le produit cartésien et vous pouvez utiliser itertools.product
pour le calculer :
a = [0, 1]
b = [2, 3]
c = [4, 5]
d = [6, 7]
e = [8, 9]
for subset in product(a, b, c, d, e):
print(subset)
sortie
(0, 2, 4, 6, 8)
(0, 2, 4, 6, 9)
(0, 2, 4, 7, 8)
(0, 2, 4, 7, 9)
(0, 2, 5, 6, 8)
(0, 2, 5, 6, 9)
(0, 2, 5, 7, 8)
(0, 2, 5, 7, 9)
(0, 3, 4, 6, 8)
(0, 3, 4, 6, 9)
(0, 3, 4, 7, 8)
(0, 3, 4, 7, 9)
(0, 3, 5, 6, 8)
(0, 3, 5, 6, 9)
(0, 3, 5, 7, 8)
(0, 3, 5, 7, 9)
(1, 2, 4, 6, 8)
(1, 2, 4, 6, 9)
(1, 2, 4, 7, 8)
(1, 2, 4, 7, 9)
(1, 2, 5, 6, 8)
(1, 2, 5, 6, 9)
(1, 2, 5, 7, 8)
(1, 2, 5, 7, 9)
(1, 3, 4, 6, 8)
(1, 3, 4, 6, 9)
(1, 3, 4, 7, 8)
(1, 3, 4, 7, 9)
(1, 3, 5, 6, 8)
(1, 3, 5, 6, 9)
(1, 3, 5, 7, 8)
(1, 3, 5, 7, 9)