为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕码人2483693 2021-08-14 21:26:44
我创建了一个名为rix.rix = [[1,2,3],[4,5,6][7,8,9]]作为输入,我有一个变量put,它是一个2表示矩阵位置的长度列表。我正在努力的部分是如何检查变量 put 是否代表第一列中的一个位置?
查看完整描述

3 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

您用于len(rix)评估行数并len(rix[0])评估矩阵的列数


所以


if len(rix) <= put[0]:

    return false

elif len(rix[0]) <= put[1]:

    return false

else:

    return true


查看完整回答
反对 回复 2021-08-14
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

您还必须考虑负指数。


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


查看完整回答
反对 回复 2021-08-14
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

将你的函数设计成通用的;它应该采用表示您要检查其边界的行的参数row_n行号)。检查 是否row_n存在于您rix的列表中。然后,将您put的第二个元素(表示预期的行长度)与列表中的原始 row_n长度进行比较rix

根据您的情况,您应该比较put的第二个元素是否小于或等于rixrow_n长度,然后返回您的布尔值。


查看完整回答
反对 回复 2021-08-14
  • 3 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信