当我在sympy
处理模块时,我想到了如何从FiniteSet
中删除特定元素的问题。像
>>> f = FiniteSet(1, 2, 3, 4)
>>> f
{1, 2, 3, 4}
如果我尝试删除2
,我该怎么做呢。
我尝试将其转换为列表并使用remove()
,但我无法将list
转换回FiniteSet
。
我没有找到任何能完成任务的功能。我可能会错过一些东西,但我想在这里问一下。
答案 0 :(得分:3)
使用就地排他性或(对称差异):
In [7]: f = {1, 2, 3, 4}
In [8]: f ^={2}
In [9]: f
Out[9]: {1, 3, 4}
答案 1 :(得分: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)
答案 2 :(得分:1)
只需减去所需的元素:
from sympy import FiniteSet
f = FiniteSet(1, 2, 3, 4)
f -= FiniteSet(2)
print f
输出:{1, 3, 4}