将 Union 对象转换为间隔列表

pha*_*han 4 python union list sympy

如何将 Sympy 中的 Union 对象转换为子间隔列表?

例如转换这个:

(-oo, a] U [b, oo)
Run Code Online (Sandbox Code Playgroud)

对此:

[(-oo,a], [b,oo)]
Run Code Online (Sandbox Code Playgroud)

Fra*_*zzi 5

In [1]: var("a, b")\nOut[1]: (a, b)\n\nIn [2]: u = Union(Interval(-oo, a), Interval(b, oo))\n\nIn [3]: u\nOut[3]: (-\xe2\x88\x9e, a] \xe2\x88\xaa [b, \xe2\x88\x9e)\n\nIn [4]: u.args\nOut[4]: ((-\xe2\x88\x9e, a], [b, \xe2\x88\x9e))\n
Run Code Online (Sandbox Code Playgroud)\n\n

注意:如果b < a,则区间并集为(-\xe2\x88\x9e, \xe2\x88\x9e)

\n