[BangPypers] List compression imrpovement

vijay vnbang2003 at yahoo.com
Wed Jan 9 10:39:47 CET 2013


Thanks Anand. This look good to me.



________________________________
 From: Anand Chitipothu <anandology at gmail.com>
To: vijay <vnbang2003 at yahoo.com>; Bangalore Python Users Group - India <bangpypers at python.org> 
Sent: Wednesday, 9 January 2013 1:43 PM
Subject: Re: [BangPypers] List compression imrpovement
 
On Wed, Jan 9, 2013 at 1:11 PM, vijay <vnbang2003 at yahoo.com> wrote:
> Hi,
>    I want to know if there is any other better way for improving below list compression. I have to use list compression only to achieve it.
>
>    say i have list   a=[1, 4, 9, 12, 15, 21] expected result (4, 12), (9, 12, 15, 21)
>
>  few solutions are
>   1) [filter(None, l) for l in zip(*[(x if x % 2 == 0 else None, x if x % 3 == 0 else None) for x in a])]
>   2) [y for y in a if bool(y%2==0)],[y for y in a if bool(y%3==0)]
>
> Any other better way to improve this.

How about this?

[[x for x in a if x%i == 0] for i in [2, 3]]

Anand


More information about the BangPypers mailing list