集合 set
(了解)概念
集合:一些元素组成的整体。比如说我们班上的所有同学组成了一个名为314班级的集合。
元素:组成集合的个体叫做元素。比如314班级的集合,班上的每一位同学就一个元素。
属于:一个元素在一个集合里面,称为属于。记作 韩愈∈314班集合。习惯用大写字母表示集合,小写字母表示元素。 314班集合记作S,班上学生记作a、b、c,b∈S。
比如我不属于315班集合,记作 我∉315集合。
创建
-
创建空集合
set1 = set()``set1 = set()
-
创建非空集合
set1 = {'a', 'b', 'c'}
大括号括住,里面每一个元素不是键值对,跟列表项类似。
添加
set1 = {'a', 'b', 'c'}
set1.add('d')
set1 → {'a', 'b', 'd', 'c'}
可以看出集合无序特性
删除
set1 = {'a', 'b', 'c'}
1. 根据元素值来删除
set1.remove('a')
2. pop
set1.pop()
删除集合中的某一项并返回,如果集合空会报错。
3. clear()
清空集合里所有元素。
列表 vs 集合
列表是有序的。
集合是无序的。集合只关心元素是否出现过,不关心元素顺序。
元素不能重复。
场景:去重。集合之间的关系运算(和、交、并)
去重
set([1,2,3,3,2]) → {1, 2, 3}
交、并、差、补
1. 并集 数学标记∪,程序符号是 | 。
。注意集合运算用的是自己一套运算符号,不能用and or之类比较条件的符号。
并集表示一个元素可能属于集合A,或者属于集合B。
set1 = {1,2,3}
set2 = {3,6,7}
set1 | set2 → {1, 2, 3, 6, 7}
2. 交集 。 数学标记 ∩,程序中的符号是&。
一个元素既属于集合A又属于集合B。
set1 = {1,2,3}
set2 = {3, 6, 7}
set1 & set2 → {3}
3. 差集。 程序符号 - 。
A-B表示一个元素属于但不属于集合B
set1 = {1,2,3}
set2 = {3, 6, 7}
set1 - set2 → {1, 2}
4. 子集 补集。
子集。集合B的每一个元素都属于集合A,A包含B,B是A的子集。
补集。在A中,属于A但不属于B,叫B的补集。