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

Python入门:实现统计n*n矩阵全零行全零列的null(A)函数

解决方案

思路拆解

  1. 统计全零行:遍历矩阵的每一行,判断该行所有元素是否均为0。用Python内置的all()函数可以简化判断——all(num == 0 for num in row)会在该行所有元素都是0时返回True,否则返回False,统计返回True的行数即可。
  2. 统计全零列:因为是n*n矩阵,列数等于行数。遍历每一列的索引,检查该列的所有元素是否都是0:可以用嵌套循环,外层遍历列索引,内层遍历每一行的对应列元素,一旦发现非零元素就提前终止循环,减少不必要的计算。

完整代码

def null(A):
    # 统计全零行数量
    zero_rows = 0
    for row in A:
        if all(num == 0 for num in row):
            zero_rows += 1
    
    # 统计全零列数量
    n = len(A)
    zero_cols = 0
    for col_idx in range(n):
        all_zero = True
        for row in A:
            if row[col_idx] != 0:
                all_zero = False
                break
        if all_zero:
            zero_cols += 1
    
    return [zero_rows, zero_cols]

代码说明

  • 全零行的判断用all()函数,是入门阶段简洁易读的写法,不需要复杂逻辑。
  • 全零列的判断加入了提前终止的逻辑,一旦找到非零元素就跳出内层循环,提升效率的同时也符合基础语法的要求。
  • 全程使用Python原生语法,不需要任何额外库,完全适配入门课程的要求。

测试示例

比如输入以下测试矩阵:

test_matrix = [
    [0, 0, 0],
    [1, 0, 3],
    [0, 0, 0]
]
print(null(test_matrix))  # 输出 [2, 1]

该矩阵包含2行全零、1列全零,输出结果符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:55:18