2012-07-02 28 views
6

Tôi cần thao tác một số khoảng thời gian của các số thực. Về cơ bản, tôi sẽ thực hiện các công đoàn và giao lộ của chúng. Bằng cách này, tôi luôn luôn có được các bộ số thực là các công đoàn của một số hữu hạn các khoảng thời gian.bộ sympy: lặp lại trong khoảng thời gian

Hiện tại tôi đang sử dụng sympy cho python. Câu hỏi của tôi là: đưa ra một bộ sympy, có cách nào (tốt đẹp) để lặp lại trong khoảng thời gian của nó không?

Một khả năng sẽ sử dụng chuỗi repr của bộ này, mà trông giống như sau:

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

và sau đó sử dụng biểu thức thông thường để giải nén nó.

Có cách nào đẹp hơn và trêu chọc hơn để thực hiện việc này không?

Trả lời

7

Vì vậy, tôi sẽ tự trả lời. Tôi cần sử dụng thuộc tính args của lớp Union. Điều này cung cấp một bộ các Bộ có công đoàn đang được xem xét:

>>> 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

Bạn có thể đánh dấu câu trả lời là câu trả lời chính xác. – asmeurer

+0

lui bravo Giacomo! – user22866

Các vấn đề liên quan