how to refactor nested for loop into smaller for loop assume each of them independent?
Alain Ketterlin
alain at universite-de-strasbourg.fr.invalid
Sat Oct 8 07:47:26 EDT 2016
meInvent bbird <jobmattcon at 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.
More information about the Python-list
mailing list