AttributeError:“FiniteSet”对象没有属性“difference”

2024-09-29 02:26:56 发布

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

在使用“finiteSet”方法创建了两个集合之后,当使用“difference”方法时,我得到了“AttributeError”错误

虽然我可以用“finiteSet”创建的集合来“print(a-b)”,但我不能用“print(a.difference(b))”来完成。或者,当我直接创建集合时,我可以使用“差异”方法

我不明白为什么。如果你能帮忙,我会很高兴的

from sympy import FiniteSet
from fractions import Fraction

k = {2,3,4,5}
m = {3,2,1,7,5}
print(k-m)
print(k.difference(m))

s = FiniteSet(1, 1.5, Fraction(1, 5), 1, 1.5, 7, 42)
t = FiniteSet(Fraction(1, 5), 1, 5, 1, 1, 91, 87)
print(s-t)
print(s.difference(t)) # I'm getting an error here.

Tags: 方法fromimport错误差异attributeerrorprintsympy
1条回答
网友
1楼 · 发布于 2024-09-29 02:26:56

来自文件:https://docs.sympy.org/latest/modules/sets.html#set

The base class for any kind of set.

This is not meant to be used directly as a container of items. It does not behave like the builtin set; see FiniteSet for that.

而且FiniteSet不是内置set的后代。
因此,即使setdifference方法,也不能指望FiniteSet.difference方法。
文档中没有difference方法

相关问题 更多 >