disgrating a list
Neil Cerutti
horpner at yahoo.com
Fri Sep 1 15:50:44 EDT 2006
On 2006-09-01, Tal Einat <tal.no.no.spam at gmail.com> wrote:
> Tim Chase wrote:
>> I'm not sure if '__iter__' is the right thing to be looking
>> for, but it seems to work at least for lists, sets,
>> dictionarys (via their keys), etc. I would use it because at
>> least then you know you can iterate over it
>
> AFAIK and as seen throughout posts on c.l.py, the best way to
> check if something is iterable is:
>
> try:
> iter(obj)
> except TypeError:
> <obj is not iterable>
> else:
> <obj is iterable>
That confounds me. Of course, I'm coming from a C++, where you
never want to throw an exception in a common case, hence the name
'exception'. The Python FAQ does say that raising and catching an
exception is an expensive operation. I see that type-checking is
good to avoid, but type-checking must be better than "abusing"
exceptions in this way. Is the above really a popular idiom?
If so, I guess I'll get used to it.
--
Neil Cerutti
More information about the Python-list
mailing list