On 2005-12-01, Steve Holden <[EMAIL PROTECTED]> wrote: > Antoon Pardon wrote: >> On 2005-12-01, Fredrik Lundh <[EMAIL PROTECTED]> wrote: >> >>>Mike Meyer wrote: >>> >>> >>>>So why the $*@& (please excuse my Perl) does "for x in 1, 2, 3" work? >>> >>>because the syntax says so: >>> >>> http://docs.python.org/ref/for.html >>> >>> >>>>Seriously. Why doesn't this have to be phrased as "for x in list((1, >>>>2, 3))", just like you have to write list((1, 2, 3)).count(1), etc.? >>> >>>because anything that supports [] can be iterated over. >> >> >> This just begs the question. If tuples are supposed to be such >> heterogenous sequences, one could indeed question why they >> support []. >> > Presumably because it's necessary to extract the individual values
It isn't, The stated intent of tuples seems to suggest that packing and unpacking should be sufficient. > (though os.stat results recently became addressable by attribute name as > well as by index, and this is an indication of the originally intended > purpose of tuples). > >> And even if good arguments are given why tuples shouls support >> [], the fact that the intention of tuples and list are so >> different casts doubts on the argument that supporting [] >> is enough reason to support iteration. >> >> One could equally also argue that since iteration is at the heart >> of methods like index, find and count, that supporting iteration >> is sufficient reason to support these methods. >> > One could even go so far as to prepare a patch to implement the required > methods and see if it were accepted (though wibbling is a much easier > alternative). That has been done and it was rejected. > Personally I find the collective wisdom of the Python > developers, while not infallible, a good guide as to what's pythonistic > and what's not. YMMV. That's because their decisions will shape python and thus decide what is pythonic and what is not. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list