python 同情(不平等或关系)到(设置或间隔)

python sympy (inequality OR relational) to (set OR interval)

如何将(不等式/关系)对象的结果放入(集合/区间)对象中?

import sympy
import sympy.solvers
#import sympy.solvers.inequalities
from sympy.solvers.inequalities import reduce_rational_inequalities 

x = sympy.Symbol('x')

ExampleInequalities1 = [[x**2 <= 1]]
ResultDomain1 = reduce_rational_inequalities(ExampleInequalities1, x)
print 'ResultDomain1', ResultDomain1

给我:

>>> And(-1 <= x, x <= 1)

以上结果可以表示为:

>>> sympy.Interval(-1, 1)

这是一个 Sympy Set Interval 对象。 (这让我可以使用交集、并集、补集等...)。

如何执行此转换?

使用as_set方法:

>>> And(-1 <= x, x <= 1).as_set()
[-1, 1]

您可以返回as_relational

>>> Interval(-1, 1).as_relational(x)
(-1 <= x) & (x <= 1)