Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在python中动态构建表达式_C#_Python_Expression_Lambda Calculus - Fatal编程技术网

C# 在python中动态构建表达式

C# 在python中动态构建表达式,c#,python,expression,lambda-calculus,C#,Python,Expression,Lambda Calculus,我想构建一个表达式并用python对其求值。基本上,我将有规则ID,我需要为其构建一个表达式形式的触发条件(T)、LHS(L)、RHS(R) 构建上述3个表达式所需的所有数据将以三个表的形式存储在数据库中。比方说 1) 常量表-存储规则Id和常量及其顺序 2) 运算符表-存储规则Id和运算符、前一个运算符及其顺序 3) 变量表-存储规则Id和变量、优先级运算符及其顺序 表数据将以 因此,基于等式order id,我需要为给定的RuleId构建T,L,R表达式。 例如:RuleId=3,T,L,

我想构建一个表达式并用python对其求值。基本上,我将有规则ID,我需要为其构建一个表达式形式的触发条件(T)、LHS(L)、RHS(R)

构建上述3个表达式所需的所有数据将以三个表的形式存储在数据库中。比方说

1) 常量表-存储规则Id和常量及其顺序

2) 运算符表-存储规则Id和运算符、前一个运算符及其顺序

3) 变量表-存储规则Id和变量、优先级运算符及其顺序

表数据将以

因此,基于等式order id,我需要为给定的RuleId构建T,L,R表达式。 例如:RuleId=3,T,L,R的表达式如下

T:(!2204)和(!2204)

L:2204

R:2204*2.00000

通过在C#中使用stack、queue构建表达式进行尝试,效果很好。
python中还有其他简单的方法可以实现这一点吗?

有一个非常类似的问题,cs95在相关文章中的解决方案对我很有用:


基本上,字符串解析+eval()看起来是一个不错的选择,如果您已经在使用pandas,则使用df.query()。

也有一个非常类似的问题,cs95在相关文章中的解决方案对我很有用:

基本上,字符串解析+eval()看起来是一个不错的选择,如果您已经在使用pandas,则使用df.query()