C
Chinook
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 -= 10
.... else:
.... ta += 10
....
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.
.... if ta >= 10:>>> ta = [5, 15, 12, 10, 9]
>>> for i in range(len(ta)):
.... ta -= 10
.... else:
.... ta += 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]
>>>