You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写兼容任意尺寸矩阵及标量的方阵判断函数遇参数未使用问题

判断方阵的函数实现(支持标量)

核心逻辑

要解决这个问题,核心要处理两种输入:标量和矩阵。标量直接视为1x1方阵返回True;矩阵则需要验证行数等于列数,且所有行的长度一致。同时要确保函数参数被实际使用,解决未使用参数的警告。

Python 实现代码

import numbers

def is_square(input_data):
    # 处理标量:int/float等数字类型都算1x1方阵
    if isinstance(input_data, numbers.Number):
        return True
    
    # 先确认是二维结构(列表的列表/元组的元组)
    try:
        first_row_length = len(input_data[0])
    except (TypeError, IndexError):
        # 一维结构(比如单个列表)不是方阵
        return False
    
    row_count = len(input_data)
    # 检查每一行的长度是否等于行数
    for row in input_data:
        if len(row) != row_count:
            return False
    
    return True

测试场景验证

  • 标量:is_square(3.14) → True
  • 3x3方阵:is_square([[1,2,3],[4,5,6],[7,8,9]]) → True
  • 3x2非方阵:is_square([[1,2],[3,4],[5,6]]) → False
  • 一维向量:is_square([1,2,3]) → False

解决未使用参数警告的关键

  1. 参数名一致:函数定义的参数(比如上面的input_data)必须和函数体内引用的变量名完全一致,别出现定义写matrix但代码里用mat的情况。
  2. 实际使用参数:确保参数在函数逻辑中被调用,比如用它做类型判断、取长度、遍历等操作,不能定义了参数却全程没碰它。
  3. 避免冗余参数:如果函数定义了多余的参数但没用到,直接删掉,只保留需要的输入参数。

内容的提问来源于stack exchange,提问作者Joshua Scully

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 18:03:17