整合字符串化数值比较

Oml*_*ley 2 python

我有一个与这样的变量进行比较的列表

['x < 0.15', 'x > -inf', 'x < 0.20', 'x > -5.5']
Run Code Online (Sandbox Code Playgroud)

如何将这些比较合并到结果中'(-5.5, 0.15)'.

我看到没有数据结构支持在python中表示连续实数范围

awe*_*oon 5

您可以使用sympy来解决不等式系统:

In [1]: from sympy import oo, solve

In [2]: from sympy.abc import x

In [3]: from sympy.parsing.sympy_parser import parse_expr

In [4]: system = ['x < 0.15', 'x > -inf', 'x < 0.20', 'x > -5.5']

In [5]: solve([parse_expr(x, local_dict={'inf': oo}) for x in system])
Out[5]: (-5.5 < x) & (x < 0.15)
Run Code Online (Sandbox Code Playgroud)