On 8/6/07, Nicko van Someren <[EMAIL PROTECTED]> wrote: > On 4 Aug 2007, at 06:11, Kurt B. Kaiser wrote: > > There are a number of instances where map() is called for its side > > effect, e.g. > > > > map(print, line_sequence) > > > > with the return result ignored. In py3k this has caused many silent > > failures. We've been weeding these out, and there are only a couple > > left, but there are no doubt many more in 3rd party code. > > I'm sure that there are lots of these. Other scenarios which will > make for ugly bugs include things like map(db_commit, > changed_record_list).
I'd just like to say that I'll be glad to see these kind of things go away. This is really a confusing abuse of map() for a reader of the code. > Filter returning an iterator is going to break lots of code which > says things like: > interesting_things = filter(predicate, things) > ... > if foo in interesting_things: ... Actually, as written, that code will work just fine:: >>> from itertools import ifilter as filter >>> interesting_things = filter(str.isalnum, 'a 1 . a1 a1.'.split()) >>> if 'a1' in interesting_things: ... print 'it worked!' ... it worked! Perhaps you meant to have multiple if clauses? STeVe -- I'm not *in*-sane. Indeed, I am so far *out* of sane that you appear a tiny blip on the distant coast of sanity. --- Bucky Katt, Get Fuzzy _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com