2017-03-22 21 views
2

sympyのモジュールで作業していたのですが、FiniteSetから特定の要素を削除する方法が問題でした。 LikeFiniteSetから要素を削除する

>>> f = FiniteSet(1, 2, 3, 4) 
>>> f 
{1, 2, 3, 4} 

2を削除しようとすると、どうすればよいのでしょうか。

remove()をリストに変換しようとしましたが、listFiniteSetに変換できませんでした。

タスクを実行する機能が見つかりませんでした。私は何かを逃した可能性がありますが、私はここで尋ねる方が良いと思った。排他的論理和(対称差)インプレース

答えて

1

だけで目的の要素を引く:

from sympy import FiniteSet 
f = FiniteSet(1, 2, 3, 4) 
f -= FiniteSet(2) 
print f 

出力:{1, 3, 4}

3

用途:

In [7]: f = {1, 2, 3, 4} 

In [8]: f ^={2} 

In [9]: f 
Out[9]: {1, 3, 4} 
2

あなたは-=オペレータ

を使用することができます
import sympy 
a=sympy.FiniteSet(1,2,3,4) 
print(a) 
a-=sympy.FiniteSet(2) 
print(a) 

出力:

{1, 2, 3, 4} 
{1, 3, 4} 

それとも、常に削除を行うにはsetに戻ってそれを変換することができます。

a=sympy.FiniteSet(1,2,3,4) 
a=set(a).remove(2) 
a=sympy.FiniteSet(*a) 
関連する問題