2012-07-02 45 views
6

我需要操縱一些實數區間。基本上我會進行工會和交叉。這樣我總是可以獲得有限數量的區間的實數的實數。sympy集:遍歷時間間隔

此刻我正在使用sympy for python。我的問題是:給定一個sympy Set,是否有一個(很好)的方式來遍歷它的間隔?

一種可能是使用集,這看起來是這樣的再版字符串:

(-oo, 5] U [7, 20] 

,然後使用正則表達式來解壓。

是否有更好的和更多的Python方式來做到這一點?

回答

7

所以,我會回答自己。我需要使用類Union的屬性args。這給出了正在考慮結合的組的集合:

>>> union 
[2.0, 10.0) U [20.0, 30.0) U {1.0, 15.0, 17.0, 40.0} 
>>> union.args 
([2.0, 10.0), [20.0, 30.0), {1.0, 15.0, 17.0, 40.0}) 
+0

您可以將答案標記爲正確答案。 – asmeurer

+0

lui bravo賈科莫! – user22866