En cherchant un moyen de simuler des boucles imbriquées (ou un produit cartésien), je suis tombé sur la fonction itertools.product. J'ai besoin d'une fonction ou d'un morceau de code qui reçoit une liste d'entiers en entrée et renvoie un générateur spécifique.Entrée python pour itertools.product
exemple:
entrée = [3,2,4] -> gen = produit (xrange (3), xrange (2), xrange (4))
ou entrée = [2,4, 5,6] -> gen = produit (xrange (2), xrange (4), xrange (5), xrange (6))
comme la taille des listes varie je suis très confus dans la façon de le faire sans avoir besoin de beaucoup de précodage basé sur une quantité folle de si et la taille de la liste.
Y a-t-il également une différence entre le produit appelant (gamme (3)) ou le produit (gamme (3))?
+1 Permettez-moi d'ajouter deux détails: 1) En Python 3, 'range()' 'se comporte comme xrange()' 2) Dans la mise en œuvre CPython de Python 2, 'xrange' est limité au type de données C' long' (ie 'xrange (int (2 ** 31-1))' est typiquement la gamme max). Frappez celui-là une fois ... – stephan