On Tue, May 27, 2008 at 7:09 PM, Delaney, Timothy (Tim)
<tdelaney@avaya .comwrote:
Yes. In this case, it returns an empty list.
<tdelaney@avaya .comwrote:
Ian Kelly wrote:
>
>
Are you aware that filter() returns a list populated from its arguments?
>
>It sounds like the wasteful list creation is the biggest objection to
>using a list comprehension. I'm curious what people think of this
>alternative, which avoids populating the list by using a generator
>expression instead (apart from the fact that this is still quadratic,
>which I'm aware of).
>>
>def compress(s):
> new = []
> filter(None, (new.append(c) for c in s if c not in new))
> return ''.join(new)
>using a list comprehension. I'm curious what people think of this
>alternative, which avoids populating the list by using a generator
>expression instead (apart from the fact that this is still quadratic,
>which I'm aware of).
>>
>def compress(s):
> new = []
> filter(None, (new.append(c) for c in s if c not in new))
> return ''.join(new)
Are you aware that filter() returns a list populated from its arguments?