Luis M. Gonzalez wrote:
Hi there,

I'd like to know if there is a way to add and else condition into a
list comprehension. I'm sure that I read somewhere an easy way to do
it, but I forgot it and now I can't find it...

for example:
z=[i+2 for i in range(10) if i%2==0]
what if I want i to be "i-2" if i%2 is not equal to 0?


Hmm:

z = [newval(i) for i in range(10)] using:
    def newval(x):
        if x % 2:
            return x - 2
        else:
            return x + 2

Just some more mental twiddling relating to the thread on statement local namespaces.

Cheers,
Nick.

--
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---------------------------------------------------------------
            http://boredomandlaziness.skystorm.net
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to