python - Sympy - 从 Union 获取组成子集
问题描述
给定一个联合对象 ( sympy.sets.sets.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,“并非所有组成集都是可迭代的”。
解决方案
一种方法是使用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)
推荐阅读
- apollo-client - 使用`createMockClient` 测试非反应代码?
- c# - C# 两位小数
- python - shapely.validation.make_valid 与 ValueError 与无效的 LinearRing 崩溃
- javascript - 带缓存的 Javascript 数字计数器
- angular - 角度刷新表(数据源)
- c# - 将我的 Appsettings 部分中的部分绑定到字典
- laravel-5.8 - 如何在 Laravel 表单验证中仅传递数组的有效对象?
- c - 如何从这种输入格式中提取数字?
- virtual-machine - 如何在 VMware Workstation Pro 15.0 中启用 VMware kvm 模式下的共享文件夹
- java - 保存时子实体的外键不加到父实体,一对一