Better writing in python

kyosohma at gmail.com kyosohma at gmail.com
Wed Oct 24 09:02:42 EDT 2007


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. See the following links for
more information:

http://www.secnetix.de/olli/Python/list_comprehensions.hawk
http://docs.python.org/tut/node7.html

Mike




More information about the Python-list mailing list