python - AttributeError:“FiniteSet”对象没有属性“差异”
问题描述
使用“finiteSet”方法创建两个集合后,使用“difference”方法时出现“AttributeError”错误。
虽然我可以对使用“finiteSet”创建的集合进行“打印(ab)”,但不能使用“打印(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.
解决方案
来自文档:https://docs.sympy.org/latest/modules/sets.html#set,
任何类型集合的基类。
这并不意味着直接用作物品的容器。它的行为不像内置的 set;请参阅 FiniteSet。
并且FiniteSet
不是 built-in 的后代set
。
所以你不能指望FiniteSet.difference
方法甚至set
有difference
方法。
文档中没有difference
方法。
推荐阅读
- django - 如何清除 django 表单中的图像字段?
- c - 使用cffi从python调用共享库的函数
- python - 未找到关键字参数“{'id': ''}' 的“add_comment”的反向。尝试了 1 种模式:['addComment/(?P
[0-9]+)/$'] - flutter - 授予权限后无法获取用户位置
- wordpress - 使用 .htaccess 重定向 URL 而不使用尾随帖子 ID
- javascript - MsTeams Bot:错误:BotFrameworkAdapter.processActivity():500 错误错误:无法获取本地颁发者证书
- python - 如何访问两列或多列的公共值?
- powershell - 如何使用 Powershell 从字段的多行数据中获取 .log 文件中的单行数据
- openssl - 如何构建 openssl 静态库 libssl.a 和 libcrypto.a
- javascript - 可以在 forEach 循环中使用 replace() 吗?