Better writing in python
Paul Hankin
paul.hankin at gmail.com
Wed Oct 24 10:15:31 EDT 2007
On Oct 24, 2:02 pm, kyoso... at gmail.com wrote:
> On Oct 24, 7:09 am, Alexandre Badez <alexandre.ba... at gmail.com> wrote:
>
> > I'm just wondering, if I could write a in a "better" way this code
>
> > lMandatory = []
> > lOptional = []
> > for arg in cls.dArguments:
> > if arg is True:
> > lMandatory.append(arg)
> > else:
> > lOptional.append(arg)
> > return (lMandatory, lOptional)
>
> > I think there is a better way, but I can't see how...
>
> You might look into list comprehensions. You could probably do this
> with two of them:
>
> <code>
> # completely untested
> lMandatory = [arg for arg in cls.dArguments if arg is True]
> lOptional = [arg for arg in cls.dArguments if arg is False]
> </code>
>
> Something like that. I'm not the best with list comprehensions, so I
> may have the syntax just slightly off.
Your list comprehensions are right, but 'arg is True' and 'arg is
False' are better written as 'arg' and 'not arg' respectively.
--
Paul Hankin
More information about the Python-list
mailing list