如何将solveset()的结果(Interval)转换为一个数学集合符号字符串?

考虑这个例子

>>> solveset("n^2 > 4", "n", Reals)
Union(Interval.open(-oo, -2), Interval.open(2, oo))

有没有办法把这个Interval转换成字符串;以便:

>>> x = Union(Interval.open(-oo, -2), Interval.open(2, oo))
>>> f(x)
'(−∞,−2) ∪ (2,∞)'

推荐答案

pretty似乎是你想要的功能:

from sympy import *
from sympy.printing.pretty import pretty
var("n")
s = solveset("n^2 > 4", "n", Reals)
t = pretty(s)
print(type(t))
# <class 'str'>
print(t)
# (-∞, -2) ∪ (2, ∞)

Python相关问答推荐

从多行文本中提取事件对

有没有方法可以修复删除了换码字符的无效的SON记录?

如何使用Selenium访问svg对象内部的元素

将numpy矩阵映射到字符串矩阵

使文本输入中的文本与标签中的文本相同

列表上值总和最多为K(以O(log n))的最大元素数

使用LineConnection动画1D数据

提取两行之间的标题的常规表达

DataFrame groupby函数从列返回数组而不是值

比较2 PD.数组的令人惊讶的结果

抓取rotowire MLB球员新闻并使用Python形成表格

从dict的列中分钟

如何使用数组的最小条目拆分数组

数据抓取失败:寻求帮助

基于索引值的Pandas DataFrame条件填充

Python—从np.array中 Select 复杂的列子集

ThreadPoolExecutor和单个线程的超时

在单个对象中解析多个Python数据帧

Python列表不会在条件while循环中正确随机化'

如何从列表框中 Select 而不出错?