python3: accessing the result of 'if'
invalidemail at aerojockey.com
Sun Jan 9 06:44:47 CET 2005
Nick Coghlan wrote:
> Carl Banks wrote:
> > What if the condition you wanted to test wasn't the same as the
> > you want to save? In other words, how would you convert this?
> > . where:
> > . m = something()
> > . if m > 20:
> > . do_something_with(m)
> Yeah, this problem eventually occurred to me as well. However, I
think a little
> utility function can help solve it:
> def test(val, condition):
> if condition(val):
> return val
> return None
> if test(something(), lambda x: x < 10) as m:
> print "Case 1:", m
> elif test(something(), lambda x: x > 20) as m:
> print "Case 2:", m
> print "No case at all!"
I'm sorry, I really can't agree that this helper function "solves" it.
IMO, it's a workaround, not a solution. And, if I may be frank, it's a
pretty ugly one.
Not only that, but it still doesn't work. What if the object itself is
More information about the Python-list