从Fini中删除元素

2024-09-29 02:23:43 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在sympy中处理一个模块时,我遇到了一个问题:如何从FiniteSet中删除一个特定的元素。就像

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

如果我试图删除2,我会怎么做。你知道吗

我试图将它转换为一个列表并使用remove(),但无法将list转换回FiniteSet。你知道吗

我没有找到任何能完成这项任务的函数。可能我错过了什么,但我想还是在这里问吧。你知道吗


Tags: 模块函数元素列表removelistsympy我会
3条回答

使用就地异或(对称差分):

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

In [8]: f ^={2}

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

只需减去所需元素:

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

输出:{1, 3, 4}

可以使用-=运算符

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)

相关问题 更多 >