【发布时间】:2021-05-01 17:18:06
【问题描述】:
一般的想法是我想在每个列表中找到满足两个条件中的任何一个的第一个值。 IE。: '
a = next((x for x in the_iterable if x > 3), default_value)
但是,我希望它有多个条件,例如:
a = next((x for x in the_iterable if x > 3 or x-1 for x in the_iterable if x>2), default_value)
我的代码现在看起来像:
a = []
for x in iterable:
if x>3:
a.append(x)
break
elif x>4:
a.append(x-1)
break
【问题讨论】:
-
你现在的代码比下一个丑陋的代码漂亮多了。我建议你使用它。
-
我认为,您的代码 id 中的一个条件与下一条语句中的数学无关,所以
if 2<x<=3:x.append(x-1) break elif x>3: a.append(x) break -
是的,语句没有添加,这不是真正的问题,只是打了个大概的思路,og的要复杂得多,我的错。
标签: python conditional-statements next