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

如何移除Python输出中的<function <lambda> at 0x0000021B33C63E20>内容?

问题解决

你的代码中a = lambda x, y: (x * y), m1, m2实际上创建了一个包含三个元素的元组:匿名函数对象、m1、m2。执行print(*list(a))时会把这三个元素全部输出,所以会出现<function ...>这部分内容。

要移除这部分,有两种简单方式:

方式一:只输出元组中的后两个元素

修改打印语句,截取元组的第2到末尾元素:

m1 = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
m2 = [[0, 1, 0], [20, 0, -1], [-1, -2, 0]]
m3 = [[0, 1, 0], [20, 0, -1], [-1, -2, 0]]

a = lambda x, y: (x * y), m1, m2
print(*list(a)[1:])

输出结果:

[[1, 0, 0], [0, 1, 0], [0, 0, 1]] [[0, 1, 0], [20, 0, -1], [-1, -2, 0]]

方式二:调整a的定义,不包含匿名函数

如果你的代码不需要保留这个未调用的匿名函数,直接将m1和m2存入元组:

m1 = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
m2 = [[0, 1, 0], [20, 0, -1], [-1, -2, 0]]
m3 = [[0, 1, 0], [20, 0, -1], [-1, -2, 0]]

a = (m1, m2)
print(*list(a))

输出结果和方式一一致。

另外注意:你定义的lambda中的x * y对列表来说是重复操作(比如[1,2]*3得到[1,2,1,2,1,2]),如果实际需要矩阵乘法,需要手动实现或使用numpy库:

import numpy as np

m1 = np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]])
m2 = np.array([[0, 1, 0], [20, 0, -1], [-1, -2, 0]])
result = m1 @ m2  # 矩阵乘法运算符
print(result)

输出结果:

[[ 0 1 0]
[20 0 -1]
[-1 -2 0]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:15:44