B
是大小为k
的二次矩阵。
我尝试了以下代码
if [x for x in range(k) if B[x,1] == 1]:
获得:
对于x
中range(k-1)
中的第一个B[x,1] == 1
,停止for循环并返回true
,以便可以执行if语句。如果没有这样的x
,则返回false
并继续下面的代码。
答案 0 :(得分:3)
看起来像你想要的any()
:
if any(B[x,1] == 1 for x in range(k)):
答案 1 :(得分:1)
arshajii's answer可能是正确的,但是如果您还想让第一个x
的值满足您的条件,则可以执行以下操作:
try:
x = next(x for x in range(k) if B[x, 1] == 1)
# Do something with x
except StopIteration:
# Do something else
编辑:更好,谢谢@arshajii:
x = next(x for x in range(k) if B[x, 1] == 1, None)
if x is not None:
# Do something with x
else:
# Do something else