[Python-ideas] [Python-Dev] Inclusive Range (original) (raw)

C. Titus Brown ctb at msu.edu
Tue Oct 5 15:13:56 CEST 2010


On Tue, Oct 05, 2010 at 02:07:41PM +0100, Michael Foord wrote:

On 5 October 2010 12:51, Carl M. Johnson <cmjohnson.mailinglist at gmail.com>wrote:

> [snip...] > > Yup. TANSTAAFL. That's why we shouldn't actually bother to change > things: you lose on the backend what you gain on the frontend. I'm > just curious about whether starting programmers have a strong > preference for one or the other convention or whether both are > confusing. Both teaching new programmers and programmers coming from other languages I've found them confused by the range behaviour and usually end up having to apologise for it (a sure sign of a language wart). It is good that range(5) produces 5 values (0 to 4) but weird that range(3, 10) doesn't include the 10. Changing it now would be very backwards incompatible of course. Python 4 perhaps?

Doesn't it make sense that

len(range(5)) == 5

and

for i in range(5): ...

mimics the C/C++ behavior of

for (i = 0; i < 5; i++) ...

?

--titus

C. Titus Brown, ctb at msu.edu



More information about the Python-ideas mailing list