Para mis clientes, iterar a través de varios contadores se está convirtiendo en una tarea recurrente.Python: Contadores de anidamiento
La forma más sencilla sería algo como esto:
cntr1 = range(0,2)
cntr2 = range(0,5)
cntr3 = range(0,7)
for li in cntr1:
for lj in cntr2:
for lk in cntr3:
print li, lj, lk
El número de contadores puede estar en cualquier lugar entre el 3 y el anidado de los bucles comience a tomar por el sector inmobiliario.
¿Hay alguna manera pitonica de hacer algo como esto?
for li, lj, lk in mysteryfunc(cntr1, cntr2, cntr3):
print li, lj, lk
no dejo de pensar que algo en itertools encajaría este proyecto de ley, pero yo no soy lo suficientemente familiarizado con itertools de dar sentido a las opciones. ¿Ya hay una solución como itertools, o tengo que hacer la mía?
Gracias, j
Excelente. Gracias, Winston. –
Además (en caso de que alguien con un problema ligeramente diferente llegue aquí): Supongamos que tiene una matriz 'cntr = [cntr1, cntr2, cntr3]'. Entonces, llamar a 'itertools.product (cntr)' no funcionará. (Simplemente imprime todas las 1-tuplas donde el primer elemento es un elemento de 'cntr'; efectivamente imprime' cntr'.) En su lugar, puede hacer 'itertools.product (* cntr)'. – ShreevatsaR