Anidado para bucles en Python

Quiero hacer algo como

for a in [0..1]: for b in [0..1]: for c in [0..1]: do something 

Pero, podría tener 15 variables diferentes. ¿Hay una manera más simple como

 for a, b, c in [0..1]: do something 

Gracias por cualquier ayuda

itertools.product

 import itertools for a,b,c in itertools.product([0, 1], repeat=3): # do something 

Puedes iterar sobre el producto de todos ellos. Usa itertools.product y pasa en tus rangos.

 import itertools for i in itertools.product(range(2), range(3), range(2)): print (i) 

rendimientos

 (0, 0, 0) (0, 0, 1) (0, 1, 0) (0, 1, 1) (0, 2, 0) (0, 2, 1) (1, 0, 0) (1, 0, 1) (1, 1, 0) (1, 1, 1) (1, 2, 0) (1, 2, 1) 

Parece que tienes una matriz / lista de variables que necesitas procesar. Por lo tanto, la mejor solución (y la más rápida) es utilizar una herramienta de matriz / lista.

Tales como: El paquete de itertools Python.

Como otros han sugerido, itertools.product es probablemente lo que quieres. Pero, vea la lista completa en: http://docs.python.org/library/itertools.html

Buena suerte.