如何检查输入是否在矩阵的第一列内

时间:2018-11-11 19:25:36

标签: python matrix

我创建了一个名为rix的矩阵。

rix = [[1,2,3],[4,5,6][7,8,9]]

作为输入,我有变量put,它是长度为2的单个列表,代表了矩阵的位置。我正在努力的部分是如何检查变量put代表第一列中的位置之一?

3 个答案:

答案 0 :(得分:0)

将您的功能设计为通用;它应使用参数row_n行号),该参数表示您要检查其边界的行。检查row_n列表中是否存在rix。然后,将put的第二个元素(表示预期行长的 )与{em>原始 row_n的长度进行比较。 {1}}列表。

根据您的情况,您应该比较rix的第二个元素是否小于put的{​​{1}}长度,然后返回布尔值。

答案 1 :(得分:0)

您使用len(rix)来评估行数 和len(rix[0])来评估矩阵的列数

如此

if len(rix) <= put[0]:
    return false
elif len(rix[0]) <= put[1]:
    return false
else:
    return true

答案 2 :(得分:0)

您还必须考虑负面指数。

def in_first_col(put, list2D):
    row_idx, col_idx = put

    # return False if we can't get the row
    try:
       row = list2D[row_idx]
    except IndexError:
       return False

    # return False if row is empty
    # return False if col_idx does not refer to first element of row
    return row and (col_idx == 0 or col_idx == -len(row))

演示:

>>> rix = [[1,2,3],[4,5,6],[7,8,9]]
>>> in_first_col([1,1], rix)
>>> False
>>> in_first_col([2,0], rix)
>>> True
>>> in_first_col([5,0], rix)
>>> False
>>> in_first_col([-2,-3], rix)
>>> True