在一种情况下合并“如果超出范围”和“如果项目等于”

时间:2018-08-27 14:35:15

标签: python

   if col-2 > 0:
       if matrix[row, col-2] != 0:
           col -= 2
           # some code here 1 
       else:
           # some code here 2
   else:
       # some code here 2

我有很多这样的代码。不完全像这样,但是我的代码中的许多条件都以相同的方式工作。我想合并if col-2 > 0:if matrix[row, col-2] != 0:,以消除代码中所有重复的行(在此处#一些代码2)。合并的问题是检查某个项目是否非零,即使该项目超出范围也是如此。

1 个答案:

答案 0 :(得分:3)

这很简单

if col-2 > 0 and matrix[row, col-2] != 0:
    # code 1
else: 
    # code 2

请注意,如果matrix[row, col-2] != 0不正确,将不会执行col-2 > 0

您可以通过类似以下内容更清楚地看到这一点:

def raiseError():
    raise ValueError()

if False and raiseError():
    print("Won't get here")
else:
    print("No error was raised")