Pythonic way to select first variable that evaluates to True
python
Solution
Did you mean returning first value for what `bool(value)==True`? Then you can just rely on the fact that boolean operators return last evaluated argument:
result = a or b or c or default
Problem
I have some variables and I want to select the first one that evaluates to True, or else return a default value. For instance I have `a`, `b`, and `c`. My existing code: ``` result = a if a else (b if b else (c if c else default)) ``` Another approach I was considering: ``` result = ([v for v in (a, b, c) if v] + [default])[0] ``` But they both feel messy, so is there a more Pythonic way?