Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder4.news.weretis.net!dedekind.zen.co.uk!zen.net.uk!hamilton.zen.co.uk!reader03.nrc01.news.zen.net.uk.POSTED!not-for-mail From: Nobody Subject: Re: looking for a neat solution to a nested loop problem Date: Tue, 07 Aug 2012 16:32:55 +0100 User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Message-Id: Newsgroups: comp.lang.python References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Lines: 22 Organization: Zen Internet NNTP-Posting-Host: 5fe2ddeb.news.zen.co.uk X-Trace: DXC=T`UlY;8LSnl\J=\Ho9ch?jf2FgniPJjgb=dR0\ckLKG`WeZ<[7LZNRfAd0jRij:Z7eM2Z^cWRFGAkdQcZPAP=L6e X-Complaints-To: abuse@zen.co.uk Xref: csiph.com comp.lang.python:26721 On Mon, 06 Aug 2012 21:02:33 -0700, Larry Hudson wrote: >> for i in range(N,N+100): >> for j in range(M,M+100): >> do_something(i % 100 ,j % 100) >> >> Emile > > How about... > > for i in range(100): > for j in range(100): > do_something((i + N) % 100, (j + M) % 100) Both of these approaches move the modifications to the sequence into the body of the loop. It may be preferable to iterate over the desired sequence directly. E.g. for i in ((N + ii) % 100 for ii in xrange(100)): for j in ((M + jj) % 100 for jj in xrange(100)): do_something(i, j)