List comprehension vs filter()

Mel mwilson at the-wire.com
Wed Apr 20 10:12:21 EDT 2011


Chris Angelico wrote:
> On Wed, Apr 20, 2011 at 5:16 PM, Tim Roberts <timr at probo.com> wrote:
>> You can solve this through the common lamba idiom of a closure:
>>>> lst=filter(lambda x,posttype=posttype: x["type"].lower()==posttype,lst)
>> Seems a little odd, but sure. I guess this means that a function's
> default arguments are evaluated in the parent context, but the body is
> evaluated in its own context?

The operation of calling a function has to evaluate arguments provided in 
the caller's namespace and assign them to variables in the called function's 
namespace. Yes.
	Mel.


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /