On 2/11/06, <b class="gmail_sendername">Gary Ruben</b> &lt;<a href="mailto:gruben@bigpond.net.au">gruben@bigpond.net.au</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Sasha wrote:<br>&gt; On 2/10/06, Gary Ruben &lt;<a href="mailto:gruben@bigpond.net.au">gruben@bigpond.net.au</a>&gt; wrote:<br>&gt;&gt; ...&nbsp;&nbsp;I must say that Travis's<br>&gt;&gt; example numpy.r_[1,0,1:5,0,1] highlights my pet hate with python - that
<br>&gt;&gt; the upper limit on an integer range is non-inclusive.<br>&gt;<br>&gt; In this case you must hate that an integer range starts at 0 (I don't<br>&gt; think you would want len(range(10)) to be 11).</blockquote><div>
<br>First, I think the range() function in python is ugly to begin with.&nbsp; Why can't python just support range notation directly like 'for a in 0:10'.&nbsp; Or with 0..10 or 0...10 syntax.&nbsp; That seems to make a lot more sense to me than having to call a named function.&nbsp;&nbsp; Anyway, that's a python pet peeve, and python's probably not going to change something so fundamental...
<br><br>Second, sometimes zero-based, non-inclusive ranges are handy, and sometimes one-based inclusive ranges are handy.&nbsp; For array indexing, I personally like zero based.&nbsp; But sometimes I just want a list of N numbers like a human would write it, from 1 to N, and in those cases it seems really odd for N+1 to show up.
<br><br>This is a place where numpy could do something.&nbsp; I think it would be nice if numpy had something like an 'irange' (inclusive range) function to complement the 'arange' function.&nbsp; They would act pretty much the same, except irange(5) would return [1,2,3,4,5], and irange(1,5) would return [1,2,3,4,5].
<br><br>Anyway, I think I'm going to put a little irange function in my setup.&nbsp; <br><br>--Bill<br></div></div>