Sympy - Получить составляющие подмножества от Union - PullRequest
0 голосов
/ 29 марта 2020

Учитывая объект Union (sympy.sets.sets.Union), как я могу получить доступ к отдельным подмножествам, которые составляют Union?

Например:

from sympy import Interval,Union

interval_1 = Interval.open(-5,-1)
interval_2 = Interval.open(1,5)

set_union = Union(interval_1, interval_2)

Как я могу получить interval_1 и interval_2 из set_union?

Примечание: фактически объект Union создается с помощью sympy.calculus.util.continuous_domain, поэтому у меня нет прямого доступа к составляющим интервалам, только сам объект Union.

Я не могу найти ничего об этом в документации. Я попытался перебрать объект Union, но получил TypeError: «Не все составные множества являются итеративными».

1 Ответ

0 голосов
/ 29 марта 2020

Одним из способов является использование Union.args:

>>> from sympy import Interval,Union
>>> 
>>> interval_1 = Interval.open(-5,-1)
>>> interval_2 = Interval.open(1,5)
>>> 
>>> set_union = Union(interval_1, interval_2)
>>> 
>>> for subset in set_union.args:
>>>     print(subset)
Interval.open(-5, -1)
Interval.open(1, 5)
...