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

在Julia中使用SymPy如何将字符串表达式列表lambdify为可调用函数?

实现方案

首先确保你已经在Julia环境中安装了SymPy库,之后按照如下代码实现即可:

using SymPy

# 定义输入的表达式列表与对应符号变量
feature_names = ["1", "x", "y", "z", "x^2", "x y", "x z", "y^2", "y z", "z^2"]
@vars x y z

# 批量将字符串转换为SymPy表达式,先把表达式中的空格替换为乘号*
expr_list = [sympy.parse_expr(replace(expr_str, " " => "*")) for expr_str in feature_names]

# 编译为可批量求值的调用函数
f = lambdify(expr_list, (x, y, z))

效果验证

调用后的输出和你要求的结果完全匹配:

julia> f(1, 2, 3)
10-element Vector{Float64}:
 1.0
 1.0
 2.0
 3.0
 1.0
 2.0
 3.0
 4.0
 6.0
 9.0

如果需要返回整数类型结果,对输出做类型转换即可:Int.(f(1,2,3))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:36:00