I'm probably just getting languages mixed up, but I thought in my Python readings over the last couple months that I had noticed an either/or expression (as opposed to a bitwise or, or truth test). Being a curious sort, I tried several variations of how a list comprehension *might* be constructed and got the results expected relative to the operators, but not the results I was trying to achieve.
So, is it possible to achieve what the "for loop" (below) does in a single list comprehension? I don't even see a way to accomplish such in two list comprehensions with an intermediate result unless an index pattern was the criterion. Just wondering, Lee C PS I'm not suggesting it be added to the language :~) Beyond the new classes and decorators (simply a convienence), I'm for KISS even to the extent of the much abused Case statement. >>> ta = [5, 15, 12, 10, 9] >>> for i in range(len(ta)): ... if ta[i] >= 10: ... ta[i] -= 10 ... else: ... ta[i] += 10 ... >>> ta [15, 5, 2, 0, 19] >>> >>> [tai - 10 | tai + 10 for tai in ta if tai >= 10] [29, 29] >>> [tai - 10 | tai + 10 for tai in ta] [29, -1, -4, -2, 29] >>> [tai - 10 or tai + 10 for tai in ta] [5, -5, -8, -10, 9] >>> -- http://mail.python.org/mailman/listinfo/python-list