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

Sympy的row_del()方法为何返回None?与GeeksforGeeks示例不符

Sympy Matrix.row_del() 返回None的原因及解决方法

原因

row_del()是Sympy中原地修改矩阵的方法,它的设计逻辑是直接修改调用它的矩阵对象本身,不会返回修改后的新矩阵,执行后默认返回None。你看到的GeeksforGeeks示例可能基于旧版Sympy(行为已变更),或者示例本身存在错误。

正确用法

方式1:原地修改后直接使用原对象

先创建矩阵实例,调用row_del()后直接操作原对象即可,因为它已经被修改:

from sympy import Matrix

A = Matrix([(1, 2, 3), (4, 5, 6)])
A.row_del(0)  # 原地删除第0行,无返回值
display(A)  # 输出删除后的矩阵:Matrix([[4, 5, 6]])

方式2:保留原矩阵,生成新矩阵

如果不想改动原矩阵,可以通过切片生成新矩阵,或者先复制原矩阵再修改副本:

from sympy import Matrix

A = Matrix([(1, 2, 3), (4, 5, 6)])
# 方法一:切片生成新矩阵
B = A[1:, :]
display(B)

# 方法二:复制后修改副本
C = A.copy()
C.row_del(0)
display(C)

注意事项

Sympy中后缀带_del、_set的方法大多是原地操作,不会返回新对象,不要尝试将它们的返回值赋值给变量,否则会得到None。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 16:15:38