Misuse of list comprehensions?

Ian Kelly ian.g.kelly at gmail.com
Tue May 27 23:42:17 EDT 2008


On Tue, May 27, 2008 at 7:09 PM, Delaney, Timothy (Tim)
<tdelaney at avaya.com> wrote:
> Ian Kelly wrote:
>
>> 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)
>
> Are you aware that filter() returns a list populated from its arguments?

Yes.  In this case, it returns an empty list.



More information about the Python-list mailing list