数学编程不分家,用Python可以方便的表示高中数学知识.现在以集合为例进行讲解,高一数学设计集的概念,讲解了交并补的相关知识,用Python中的集合类型可以方便的表示.同时可以借助数学知识更好的理解编程语言中的数据结构,相得益彰.
数学中的集合
一、集合有关概念
1、集合的含义:某些指定的对象集在一起就成为一个集合,其中每一个对象叫元素.
2、集合的中元素的三个特性:
①.元素的确定性; ②.元素的互异性; ③.元素的无序性
说明:(1)对于一个给定的集合,集合中的元素是确定的,任何一个对象或者是或者不是这个给定的集合的元素.
(2)任何一个给定的集合中,任何两个元素都是不同的对象,相同的对象归入一个集合时,仅算一个元素.
(3)集合中的元素是平等的,没有先后顺序,因此判定两个集合是否一样,仅需比较它们的元素是否一样,不需考查排列顺序是否一样.
(4)集合元素的三个特性使集合本身具有了确定性和整体性.
3、集合的分类:
1.有限集 含有有限个元素的集合
2.无限集 含有无限个元素的集合
3.空集 不含任何元素的集合 例:{x|x2=-5}
4、集合的表示:{ … } 如{我校的篮球队员},{太平洋大西洋印度洋北冰洋}
1.用拉丁字母表示集合:A={我校的篮球队员}B={12345}
2.集合的表示方法:列举法与描述法.
注意啊:常用数集及其记法:
非负整数集(即自然数集) 记作:N
正整数集 N*或 N+ 整数集Z 有理数集Q 实数集R
关于“属于”的概念
集合的元素通常用小写的拉丁字母表示,如:a是集合A的元素,就说a属于集合A 记作 a∈A ,相反,a不属于集合A 记作 A
列举法:把集合中的元素一一列举出来,然后用一个大括号括上.
描述法:将集合中的元素的公共属性描述出来,写在大括号内表示集合的方法.用确定的条件表示某些对象是否属于这个集合的方法.
①语言描述法:例:{不是直角三角形的三角形}
②数学式子描述法:例:不等式x-3>2的解集是{x?R| x-3>2}或{x| x-3>2}
二、集合间的基本关系
1.“包含”关系子集
注意:有两种可能(1)A是B的一部分,;(2)A与B是同一集合.
反之:集合A不包含于集合B或集合B不包含集合A记作A B或B A
2.不含任何元素的集合叫做空集,记为Φ
规定:空集是任何集合的子集,空集是任何非空集合的真子集.
3.“相等”关系(5≥5,且5≤5,则5=5)
实例:设 A={x|x2-1=0} B={-11} “元素相同”
结论:对于两个集合A与B,如果集合A的任何一个元素都是集合B的元素,同时集合B的任何一个元素都是集合A的元素,我们就说集合A等于集合B,即:A=B
① 任何一个集合是它本身的子集.A
②真子集:如果A?B且A?B那就说集合A是集合B的真子集,记作A B(或B A)
③如果 B C 那么 C
④ 如果A?B 同时 A 那么A=B
三、集合的运算
1、并集的定义:一般地,由所有属于集合A或属于集合B的元素所组成的集合,叫做AB的并集.记作:A∪B(读作”A并B”),即A∪B={x|x∈A,或x∈B}.
2.交集的定义:一般地,由所有属于A且属于B的元素所组成的集合叫做AB的交集.
记作A∩B(读作”A交B”),即A∩B={x|x∈A,且x∈B}.
3、全集与补集
(1)补集:设S是一个集合,A是S的一个子集(即 ),由S中所有不属于A的元素组成的集合,叫做S中子集A的补集(或余集)
记作:CSA 即 CSA ={x S且 A}
(2)全集:如果集合S含有我们所要研究的各个集合的全部元素,这个集合就可以看作一个全集.通常用U来表示.
(3)性质:⑴CU(C UA)=A ⑵(C UA)∩A=Φ ⑶(CUA)∪A=U
4、交集与并集的性质:A∩A = A A∩φ= φ A∩B = B∩A,A∪A = A
A∪φ= A A∪B = B∪A
Python中的集合
Python中集合Set的定义
Python also includes a data type for sets. A set is an unordered collection with no duplicate elements. Basic uses include membership testing and eliminating duplicate entries. Set objects also support mathematical operations like union, intersection, difference, and symmetric difference.
——Python3.6官方手册
python的set一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.
——翻译引用自:http://blog.csdn.net/business122/article/details/7541486
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
——廖雪峰
集合Set的操作(方法与函数)
***注意在Python两个等号==的意思判断是否相等,相同
操作 | 等效运算 | 运算结果 |
---|---|---|
len(s) | 集合元素个数 | |
x in s | 判断元素x是否属于集合s | |
x not in s | 判断元素x是否不属于集合s | |
s.issubset(t) | s <= t | 测试集合s是否集合t的子集,或者说集合s包含于t |
s.issuperset(t) | s >= t | 测试集合s是否包含集合t |
s.union(t) | s 此处竖杠 t | 集合s与集合t的并集 |
s.intersection(t) | s & t | 集合s与集合t的交集 |
s.difference(t) | s - t | 集合s与集合t的差集 |
s.symmetric_difference(t) | s ^ t | 集合s与t的对称差集,即那些既要么在s中要么在t中但是不同时在集合st的部分 |
数学中集合的定义
1、集合的含义:某些指定的对象集在一起就成为一个集合,其中每一个对象叫元素.
在Python中集合是一系列键的集合,也就是某些指定的对象的集合.
#要创建一个set,需要提供一个list作为输入集合
>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}
# 以上就是集合s的值,在这里集合s是1,2,3三个整数对象组成的集合
集合的特点
- 集合的中元素的三个特性:
- 元素的确定性;
- 元素的互异性;
- 元素的无序性
说明:
- 对于一个给定的集合,集合中的元素是确定的,任何一个对象或者是或者不是这个给定的集合的元素.
如图:
in就是用来判断某个元素是否属于Python的集合
# 注意上面代码中的True和False代表的是结论是否成立
- 任何一个给定的集合中,任何两个元素都是不同的对象,相同的对象归入一个集合时,仅算一个元素.
在Python的集合中,重复元素在set中自动被过滤
可以看到我们最初给Python指定了1,1,2,2,3,3三个元素但是打印出来只有一个
也就是说python自动判断重复元素,然后取出,正确的表示集合
- 集合中的元素是平等的,没有先后顺序,因此判定两个集合是否一样,仅需比较它们的元素是否一样,不需考查排列顺序是否一样.
# 集合元素的三个特性使集合本身具有了确定性和整体性.
集合间的基本关系
- “包含”关系子集
注意:有两种可能
- A是B的一部分
- A与B是同一集合.
# 反之:集合A不包含于集合B或集合B不包含集合A记作A B或B A
- 不含任何元素的集合叫做空集,记为Φ
规定:空集是任何集合的子集,空集是任何非空集合的真子集.
- “相等”关系(5≥5,且5≤5,则5=5)
实例:设 A={x|x2-1=0} B={-11} “元素相同”
结论:对于两个集合A与B,如果集合A的任何一个元素都是集合B的元素,同时集合B的任何一个元素都是集合A的元素,我们就说集合A等于集合B,即:A=B
① 任何一个集合是它本身的子集.A
②真子集:如果A包含于B且A不等于B那就说集合A是集合B的真子集,记作
③如果 B C 那么 C
④ 如果A包含B,同时B包含A 那么A=B
集合的运算
Python中的集合Set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:
三、集合的运算
1、并集的定义:一般地,由所有属于集合A或属于集合B的元素所组成的集合,叫做AB的并集.记作:A∪B(读作”A并B”),即A∪B={x|x∈A,或x∈B}.
2.交集的定义:一般地,由所有属于A且属于B的元素所组成的集合叫做AB的交集.
记作A∩B(读作”A交B”),即A∩B={x|x∈A,且x∈B}.
3、全集与补集
(1)补集:设S是一个集合,A是S的一个子集(即 ),由S中所有不属于A的元素组成的集合,叫做S中子集A的补集(或余集)
记作:CSA 即 CSA ={x S且 A}
(2)全集:如果集合S含有我们所要研究的各个集合的全部元素,这个集合就可以看作一个全集.通常用U来表示.
(3)性质:⑴Cu(C uA)=A
⑵(C UA)∩A=Φ
全集中不属于A的部分与属于A的部分的交集自然是空集
⑶(CUA)∪A=U
全集中不属于子集A的元素与属于自己A的元素的并集自然还是全集U
4、交集与并集的性质:A∩A = A
A∩φ= φ
A∩B = B∩A,
A∪A = A
A∪φ= A
A∪B = B∪A