The general idea is that I want to find the first value in each list that meets any of two conditions. i.e.: ′
a = next((x for x in the_iterable if x > 3), default_value)
However, I want it to have multiple conditions, something like:
a = next((x for x in the_iterable if x > 3 or x-1 for x in the_iterable if x>2), default_value)
My code right now looks something like:
a = [] for x in iterable: if x>3: a.append(x) break elif x>4: a.append(x-1) break
Your code right now is much prettier, but this would work:
a = next(( (x - 1 if x > 4 else x) for x in the_iterable if (x > 3 or x > 4) ), default_value)
2.1m questions
2.1m answers
60 comments
57.0k users