【问题标题】:sympy how to compare symbol with list同情如何将符号与列表进行比较
【发布时间】:2021-11-26 16:31:01
【问题描述】:

我使用 sympy,我想将一个符号与这样的列表进行比较:

 >>> sympy.sympify("Eq(x,[])")

但这会引发错误:sympy.core.sympify.SympifyError: SympifyError: []

但它适用于 set :

 >>> sympy.sympify("Eq(x,{})")
 Eq(x,{})

为什么这不适用于列表以及如何将符号与列表进行比较?

【问题讨论】:

  • SymPy 中没有列表类型,因为 SymPy 表达式是不可变的,而列表是可变的。不过有一个符号元组。

标签: python sympy


【解决方案1】:

SymPy 的设计目标是不允许非 SymPy 对象作为参数,因此强烈倾向于不这样做。但是,您可以使用元组(可以用 Tuple 作为参数表示:

>>> Eq(x, ())
Eq(x, ())
>>> _.subs(x, ())  # and _.subs(x, 1) -> False
True

【讨论】:

    猜你喜欢
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    相关资源
    最近更新 更多