Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #26625 > unrolled thread

looking for a neat solution to a nested loop problem

Started byTom P <werotizy@freent.dd>
First post2012-08-06 17:52 +0200
Last post2012-08-06 21:14 +0100
Articles 3 on this page of 23 — 13 participants

Back to article view | Back to comp.lang.python


Contents

  looking for a neat solution to a nested loop problem Tom P <werotizy@freent.dd> - 2012-08-06 17:52 +0200
    Re: looking for a neat solution to a nested loop problem John Gordon <gordon@panix.com> - 2012-08-06 16:03 +0000
      Re: looking for a neat solution to a nested loop problem Tom P <werotizy@freent.dd> - 2012-08-06 19:16 +0200
        Re: looking for a neat solution to a nested loop problem Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2012-08-07 01:27 +0000
    Re: looking for a neat solution to a nested loop problem Ian Foote <ian@feete.org> - 2012-08-06 17:07 +0100
    Re: looking for a neat solution to a nested loop problem Ethan Furman <ethan@stoneleaf.us> - 2012-08-06 09:15 -0700
    Re: looking for a neat solution to a nested loop problem Nobody <nobody@nowhere.com> - 2012-08-06 17:18 +0100
      Re: looking for a neat solution to a nested loop problem Tom P <werotizy@freent.dd> - 2012-08-06 19:14 +0200
        Re: looking for a neat solution to a nested loop problem Emile van Sebille <emile@fenx.com> - 2012-08-06 11:11 -0700
          Re: looking for a neat solution to a nested loop problem Larry Hudson <orgnut@yahoo.com> - 2012-08-06 21:02 -0700
            Re: looking for a neat solution to a nested loop problem Nobody <nobody@nowhere.com> - 2012-08-07 16:32 +0100
              Re: looking for a neat solution to a nested loop problem 88888 Dihedral <dihedral88888@googlemail.com> - 2012-08-07 18:42 -0700
              Re: looking for a neat solution to a nested loop problem 88888 Dihedral <dihedral88888@googlemail.com> - 2012-08-09 11:46 -0700
              Re: looking for a neat solution to a nested loop problem 88888 Dihedral <dihedral88888@googlemail.com> - 2012-08-09 11:39 -0700
              Re: looking for a neat solution to a nested loop problem 88888 Dihedral <dihedral88888@googlemail.com> - 2012-08-14 14:08 -0700
        Re: looking for a neat solution to a nested loop problem Grant Edwards <invalid@invalid.invalid> - 2012-08-06 18:25 +0000
          Re: looking for a neat solution to a nested loop problem Grant Edwards <invalid@invalid.invalid> - 2012-08-06 18:29 +0000
            Re: looking for a neat solution to a nested loop problem Tom P <werotizy@freent.dd> - 2012-08-06 21:03 +0200
              Re: looking for a neat solution to a nested loop problem Grant Edwards <invalid@invalid.invalid> - 2012-08-06 19:22 +0000
                Re: looking for a neat solution to a nested loop problem Emile van Sebille <emile@fenx.com> - 2012-08-06 12:52 -0700
    Re: looking for a neat solution to a nested loop problem André Malo <ndparker@gmail.com> - 2012-08-06 20:19 +0200
    Re: looking for a neat solution to a nested loop problem Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2012-08-06 15:31 -0400
    Re: looking for a neat solution to a nested loop problem Arnaud Delobelle <arnodel@gmail.com> - 2012-08-06 21:14 +0100

Page 2 of 2 — ← Prev page 1 [2]


#26644

FromAndré Malo <ndparker@gmail.com>
Date2012-08-06 20:19 +0200
Message-ID<11795205.embGBpUICj@news.perlig.de>
In reply to#26625
* Tom P wrote:

> consider a nested loop algorithm -
> 
> for i in range(100):
>      for j in range(100):
>          do_something(i,j)

> 
> Now, suppose I don't want to use i = 0 and j = 0 as initial values, but
> some other values i = N and j = M, and I want to iterate through all
> 10,000 values in sequence - is there a neat python-like way to this? I
> realize I can do things like use a variable for k in range(10000): and
> then derive values for i and j from k, but I'm wondering if there's
> something less clunky.

you mean:
    do_something((i + N) % 100, (j + M) % 100)

?

I'd define my own range function doing exactly that.

def rrange(count, start=0):
    for j in xrange(count):
        yield (j + start) % count

(untested)

Or use some itertools magic for that. It might be faster.

nd
-- 
"Umfassendes Werk (auch fuer Umsteiger vom Apache 1.3)"
                                          -- aus einer Rezension

<http://pub.perlig.de/books.html#apache2>

[toc] | [prev] | [next] | [standalone]


#26651

FromDennis Lee Bieber <wlfraed@ix.netcom.com>
Date2012-08-06 15:31 -0400
Message-ID<mailman.3025.1344281720.4697.python-list@python.org>
In reply to#26625
On Mon, 06 Aug 2012 17:52:31 +0200, Tom P <werotizy@freent.dd> declaimed
the following in gmane.comp.python.general:

> consider a nested loop algorithm -
> 
> for i in range(100):
>      for j in range(100):
>          do_something(i,j)
> 
> Now, suppose I don't want to use i = 0 and j = 0 as initial values, but 
> some other values i = N and j = M, and I want to iterate through all 

	range() takes an optional "start" and "increment"

	for i in range(istart, istart+ilength):
		for j in range(jstart, jstart+jlength):
			do_something(i, j)

where "istart" is N and "jstart" is M

> 10,000 values in sequence - is there a neat python-like way to this? I 

and ilength|jlength is 100
-- 
	Wulfraed                 Dennis Lee Bieber         AF6VN
        wlfraed@ix.netcom.com    HTTP://wlfraed.home.netcom.com/

[toc] | [prev] | [next] | [standalone]


#26654

FromArnaud Delobelle <arnodel@gmail.com>
Date2012-08-06 21:14 +0100
Message-ID<mailman.3028.1344284069.4697.python-list@python.org>
In reply to#26625
On 6 August 2012 16:52, Tom P <werotizy@freent.dd> wrote:
> consider a nested loop algorithm -
>
> for i in range(100):
>     for j in range(100):
>         do_something(i,j)
>
> Now, suppose I don't want to use i = 0 and j = 0 as initial values, but some
> other values i = N and j = M, and I want to iterate through all 10,000
> values in sequence - is there a neat python-like way to this? I realize I
> can do things like use a variable for k in range(10000): and then derive
> values for i and j from k, but I'm wondering if there's something less
> clunky.

For example:

for i in range(100):
    for j in range(100):
        do_something((i + N)%100, (j + N)%100)

Cheers,

-- 
Arnaud

[toc] | [prev] | [standalone]


Page 2 of 2 — ← Prev page 1 [2]

Back to top | Article view | comp.lang.python


csiph-web