meInvent bbird <jobmatt...@gmail.com> writes: > how to refactor nested for loop into smaller for loop assume each of them > independent? > > because memory is not enough > > for ii in range(1,2000): > for jj in range(1,2000): > for kk in range(1,2000): > print run(ii,jj,kk)
n = 0 while n < 2000*2000*2000: ii = n // (2000*2000) jj = ( n % (2000*2000) ) // 2000 kk = n % 2000 run(ii,jj,kk) n += 1 or: for n in xrange(2000*2000*2000): ii,rr = divmod(n,2000*2000) jj,kk = divmod(rr,2000) run(ii,jj,kk) (I think CPython wll fold the constants, but I haven't checked). Are you sure this is your (real) problem? -- Alain. -- https://mail.python.org/mailman/listinfo/python-list