- SymPy 教程
- SymPy - 首页
- SymPy - 简介
- SymPy - 安装
- SymPy - 符号计算
- SymPy - 数值
- SymPy - 符号
- SymPy - 替换
- SymPy - sympify() 函数
- SymPy - evalf() 函数
- SymPy - lambdify() 函数
- SymPy - 逻辑表达式
- SymPy - 查询
- SymPy - 简化
- SymPy - 导数
- SymPy - 积分
- SymPy - 矩阵
- SymPy - 函数类
- SymPy - 四元数
- SymPy - 求解器
- SymPy - 绘图
- SymPy - 实体
- SymPy - 集合
- SymPy - 打印
- SymPy 有用资源
- SymPy - 快速指南
- SymPy - 有用资源
- SymPy - 讨论
SymPy - 集合
在数学中,集合是由不同对象的明确定义的集合,这些对象可以是数字、人、字母表中的字母,甚至是其他集合。集合也是 Python 中的内置类型之一。SymPy 提供了集合模块。它包含不同类型集合的定义,并具有执行集合运算(如交集、并集等)的功能。
集合是 SymPy 中任何其他类型集合的基类。请注意,它与 Python 的内置集合数据类型不同。Interval 类表示实数区间,其边界属性返回一个**有限集**对象。
>>> from sympy import Interval >>> s=Interval(1,10).boundary >>> type(s)
sympy.sets.sets.FiniteSet
FiniteSet 是离散数字的集合。它可以从任何序列对象(如列表或字符串)中获得。
>>> from sympy import FiniteSet >>> FiniteSet(range(5))
输出
$\lbrace\lbrace0,1,...,4\rbrace\rbrace$
>>> numbers=[1,3,5,2,8] >>> FiniteSet(*numbers)
输出
$\lbrace1,2,3,5,8\rbrace$
>>> s="HelloWorld" >>> FiniteSet(*s)
输出
{H,W,d,e,l,o,r}
请注意,与内置集合一样,SymPy 的集合也是不同对象的集合。
**条件集**是一组满足给定条件的元素。
>>> from sympy import ConditionSet, Eq, Symbol >>> x=Symbol('x') >>> s=ConditionSet(x, Eq(x**2-2*x,0), Interval(1,10)) >>> s
输出
$\lbrace x\mid x\in[1,10]∧x^2 - 2x =0\rbrace$
**并集**是一个复合集合。它包含两个集合中的所有元素。请注意,在两个集合中都存在的元素在并集中只会出现一次。
>>> from sympy import Union >>> l1=[3,1,5,7] >>> l2=[9,7,2,1] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> Union(a,b)
另一方面,**交集**只包含同时存在于两个集合中的元素。
>>> from sympy import Intersection >>> Intersection(a,b)
**积集**对象表示两个集合中元素的笛卡尔积。
>>> from sympy import ProductSet >>> l1=[1,2] >>> l2=[2,3] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> set(ProductSet(a,b))
**补集(a,b)**保留集合 a 中的元素,排除与集合 b 共有的元素。
>>> from sympy import Complement >>> l1=[3,1,5,7] >>> l2=[9,7,2,1] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> Complement(a,b), Complement(b,a)
**对称差集**只包含两个集合中不共有的元素。
>>> from sympy import SymmetricDifference >>> l1=[3,1,5,7] >>> l2=[9,7,2,1] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> SymmetricDifference(a,b)
输出
{2,3,5,9}
广告