[Python-3000] range() issues (original) (raw)
Guido van Rossum guido at python.org
Thu May 1 01:41:22 CEST 2008
- Previous message: [Python-3000] range() issues
- Next message: [Python-3000] range() issues
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Wed, Apr 30, 2008 at 4:14 PM, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote:
Guido van Rossum wrote:
> > On Wed, Apr 30, 2008 at 3:49 PM, Greg Ewing <greg.ewing at canterbury.ac.nz> wrote: > > > > > So that code will silently behave as though the rest of > > the sequence wasn't there some of the time? > > > > Only if it uses LBYL. > I don't understand that. Iteration isn't the only thing one does with sequences. If you have a reason to call len() in the first place, I don't see how having it sometimes return inaccurate results can be helpful.
I've come across situations where len() raising an exception was more inconvenient than returning a truncated value (e.g. when printing).
> > Can you elaborate on the rationale for this? > > >
> Ask the designers of the Java collections package. > Do you mean that they have a rationale which you agree with and think applies to Python as well, or do you mean that you're doing it just because Java does it and they must have a good reason? If the former, can you refer me to a document which espouses it?
You'll have to do some research, but I believe the circumstances are similar -- they have a size() method that is defined to return an unboxed int, so they are limited by that.
I found the spec here:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collection.html#size()
But I didn't find a rationale. I'm sure it was PBP though.
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-3000] range() issues
- Next message: [Python-3000] range() issues
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]